【发布时间】:2020-12-06 21:03:25
【问题描述】:
我在导航栏中完成了一个带有搜索表单的拍卖应用程序。
搜索表单模型在我的 forms.py 文件中(它不是 ModelForm,因为我不需要将搜索表单数据保存在任何数据库模型中):
class SearchForm(forms.Form):
search = forms.CharField(label="",
min_length=1,
max_length=50,
widget=forms.TextInput
(attrs={'class':'form-control mr-sm-2',
'placeholder':'Name or category',
'type':'search',
'aria-label':'Search'
}))
表单在我的 layout.html 中呈现如下:
<form class="form-inline my-2 my-lg-0" action="{% url 'auctions:search' %}" method="POST">
{% csrf_token %}
{{ searchform }}
<button class="btn btn-outline-light my-2 my-sm-0" type="submit">Search</button>
</form>
搜索表格:
渲染出来的表单没有问题(样式和我想要的一样),但是当我查看渲染页面的源代码时,有一些不合适的 tr、td 和 th 标签:
<form class="form-inline my-2 my-lg-0" action="/search" method="POST">
<input type="hidden" name="csrfmiddlewaretoken" value="glVkeNbCkWjiInGZ2cwORkXSu48otl5TPnJAAGxzdhzzdKFSSMxJVyRk9oK0HNmk">
<tr><th><label for="id_search">Search:</label></th><td><input type="search" name="search" class="form-control mr-sm-2" placeholder="Name or category" aria-label="Search" maxlength="50" minlength="1" required id="id_search"></td></tr>
<button class="btn btn-outline-light my-2 my-sm-0" type="submit">Search</button>
</form>
我尝试像这样在我的 views.py 中设置label_suffix="",它会删除标签标签,但不会删除 tr、td 和 th 标签:
return render(request, "auctions/index.html", {
"auctions": auctions,
"searchform": SearchForm(label_suffix="")
})
这些标签导致 W3C 验证器出错,所以我对这个问题有几个问题:
1 .那很重要么 ?我是编程新手,我不知道这是否会导致我的应用出现严重问题。
2 。是 Django 表单还是 Bootstrap 样式造成的?
3 .有没有办法去掉这些标签?
感谢您的帮助,
最好的问候,
【问题讨论】:
标签: html django twitter-bootstrap bootstrap-4 w3c