Django будет записывать отправленные значения обратно, пока вы предоставляете объект формы для обработанного шаблона. Например, на ваш взгляд, что-то вроде:
# handle POST
form = MyForm(request.POST)
if form.is_valid():
# do something and redirect
else:
# render the template with the invalid form
return render_to_response('mytemplate.html', {'form': form})
и в вашем шаблоне что-то вроде:
{{ form.myfield.label_tag }}
{% if form.myfield.errors %} indicate error message/icon here {% endif %}
{{ form.myfield }}
Обратите внимание, что {{ form.myfield }}
покажет HTML-виджет для myfield
с предыдущими отправленными значениями на основе кода представления выше. И он будет пустым, когда вы отобразите его с пустой формой в ответ на GET
(например, form = MyForm()
).