У меня есть форма, которая позволяет пользователям выбирать несколько параметров, чтобы разрешить граненый запрос данных. Поскольку здесь нет ввода данных, я хочу, чтобы форма отправлялась в 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)
my 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?
Любая помощь высоко ценится.