Python Django ChoiceField正在自动添加文本框。。?
我的Django表单自动添加一个文本输入字段和一个下拉菜单。我想要一个下拉菜单来过滤结果。这是我的密码: forms.pyPython Django ChoiceField正在自动添加文本框。。?,python,django,django-forms,django-haystack,Python,Django,Django Forms,Django Haystack,我的Django表单自动添加一个文本输入字段和一个下拉菜单。我想要一个下拉菜单来过滤结果。这是我的密码: forms.py from haystack.forms import FacetedSearchForm from django import forms class FacetedProductSearchForm(FacetedSearchForm): desc = forms.ChoiceField(choices=[('n', 'Ascending'), ('y', '
from haystack.forms import FacetedSearchForm
from django import forms
class FacetedProductSearchForm(FacetedSearchForm):
desc = forms.ChoiceField(choices=[('n', 'Ascending'), ('y', 'Descending')], label='', initial='y')
def __init__(self, *args, **kwargs):
data = dict(kwargs.get("data", []))
self.retailer = data.get('retailer', [])
self.location = data.get('location', [])
super(FacetedProductSearchForm, self).__init__(*args, **kwargs)
def search(self):
sqs = super(FacetedProductSearchForm, self).search()
if self.cleaned_data['desc'] == 'y':
query = None
sqs = sqs.order_by('-retailer')
else:
sqs = sqs.order_by('retailer')
return sqs
results.html
<div class="tab-filter">
<form id="searchformsort" action="" method="get" >
<select id=sort class="selectpicker" data-style="btn-select"/>
<option>Sort by</option>
<option> {{ form }} </option>
</select>
</form>
</div>
排序
{{form}}
将此添加到您的选择字段:
widget=forms.Select,
从文件:
小部件是Django对HTML输入元素的表示
通过这个小部件,您可以告诉django使用select渲染字段
希望此帮助谢谢,尝试过,但似乎仍然在我的表单中添加了文本搜索框。混乱…嗯,尝试创建一个虚拟表单,并通过使用默认的django格式将其传递给视图,如
类DummyForm(forms.form):desc=forms.ChoiceField(choices=[('n','singressing'),('y','degressing')],label='',initial='y',widget=forms.Select)