【发布时间】:2014-09-29 17:18:15
【问题描述】:
我的网站帮助音乐家相互联系和借/借他们的乐器。
我的网页上有一个名为InstrumentSearchForm 的表格,您可以通过它按类别、日期和位置搜索乐器。
class InstrumentSearchForm(forms.Form):
categories = forms.MultipleChoiceField(required=False, widget=forms.CheckboxSelectMultiple())
date = forms.DateField(required=False)
location = forms.CharField(required=False)
此表单在view 中初始化,并在上下文中传递给模板(我发现了一些不相关的杂物)
def main_page(request):
if request.method == 'POST':
....
else:
form_search = InstrumentSearchForm(prefix="search") # An unbound form
args = {}
args.update(csrf(request))
args['form_search'] = form_search
...
categories_to_show = Categories.objects.filter(users = request.user) #show users categories
form_search.fields['categories'].queryset = categories_to_show
return render(request, 'main_page.html', args)
麻烦的是,在模板页面中,当我说
{{ form_search }}
表单缺少“类别”小部件。它只有日期和位置框。在源代码中,即使我知道类别存在,它也没有显示任何选项。
我一直在试图找出问题所在,但没有结果。有人有什么想法吗?
【问题讨论】:
标签: django forms templates widget