【发布时间】:2012-02-22 16:46:25
【问题描述】:
我有一个表单,它允许用户选择多个参数以允许对数据进行多面查询。由于此处没有数据输入,我希望将表单发布到 GET,并且我有另一个视图,其中包含显示结果的不同模板。
我希望表单能够正常验证,以便在未完成必填字段时显示相应的错误。目前我的流程看起来像这样(简化):
我的搜索视图:
def search(request):
...
context['form'] = GraphForm()
...
return render(request, 'search.html', context)
我的结果视图:
def results(request):
if 'submit' in request.GET:
# process GET variables as query
...
return render(request, 'results.html', context)
我的 search.html 模板:
<form action="{% url results %}" method="get">{% csrf_token %}
{% for field in form %}
<div class="field_wrapper">
{{ field.errors }}
{{ field.label_tag }} {{ field }}
</div>
{% endfor %}
<input type="submit" name="submit" value="Query" />
</form>
鉴于表单提交到具有单独视图代码的另一个 url,验证(突出显示错误)并确保我拥有我的 GET 数据的最佳方法是什么?
非常感谢任何帮助。
【问题讨论】: