我正在为我的网站做一个搜索精炼器,我正在使用一个GET表单将信息传递到URL。当前,当您在获取表单中单击“搜索”并提交数据时,表单不会保留您选择的内容。我试图通过在输入中输入一个“value”字段来实现这一点,该字段等于“request.GET.xxxx”。当我自己编写输入HTML并且没有通过{form.keywords}}加载它时,我能够让它对我的关键字输入工作,但是我不能为我的选择字段复制它。有人知道我怎么做吗?干杯
HTML-
<div class="searchrefiner">
<h2 class="searchrefiner-title">Job Finder</h2>
<form class="qsm-form" action="{% url 'browse' %}" method="GET">
{{ form.non_field_errors }}
<p class="searchrefiner-field-title">Business Industry</p><br>
{{ form.business_industry }}
<p class="searchrefiner-field-title">Business Region</p><br>
{{ form.business_address_region }}
<p class="searchrefiner-field-title">Employment Type</p><br>
{{ form.employment_type }}
<p class="searchrefiner-field-title">Keywords</p><br>
{{ form.keywords }}<br>
<button type="submit" class="qsm-form-button">Search Jobs</button>
</form>
</div>
表格-
class JobSearchForm(forms.Form):
employment_type = forms.ChoiceField(employment_type_choice, widget=forms.Select(attrs={'class': 'qsm-form-input'}))
business_address_region = forms.ChoiceField(region_choice, widget=forms.Select(attrs={'class': 'qsm-form-input'}))
business_industry = forms.ChoiceField(industry_choice, widget=forms.Select(attrs={'class': 'qsm-form-input', 'value': '{{ request.GET.business_industry }}'}))
keywords = forms.CharField(max_length=20, widget=forms.TextInput(attrs={'class': 'qsm-form-input', 'placeholder': 'Enter Keywords...', 'value': '{{ request.GET.keywords }}'}))
你根本不是这样做的。表单定义用于字段的定义,而不是它们的值;此时无法访问请求数据,只能传递类似于template variable.s的字符串
这是一个视图作业,非常简单:
相关问题 更多 >
编程相关推荐