В моем проекте есть форма Django, которую я затем передаю своему шаблону. Эта форма позволяет пользователям зарегистрироваться для учетной записи.
Если пользователь допустил ошибку, я использую Django messages , чтобы вернуть ошибку пользователю, а затем перенаправить на ту же страницу с ошибкой. Эта ошибка успешно отображается.
Однако все предыдущие данные, введенные пользователем в форму, теряются. Что я хочу, так это перезагрузить страницу с заполненной формой со всеми предыдущими данными, введенными пользователем. Таким образом, они могут легко исправить данные без повторного ввода всей информации.
Кто-нибудь знает, как этого добиться? Спасибо.
views.py:
if form.cleaned_data['password'] != form.cleaned_data['confirmPassword']:
messages.error(request, 'Password fields do not match')
return redirect('signup')
else:
try:
user = User.objects.get(username=form.cleaned_data['username'])
messages.error(request, 'Username has already been taken')
return redirect('signup')
Шаблон:
{% if messages %}
{% for message in messages %}
<span class="errorMessageSignup"> <img src="{% static 'wrongcross.png' %}" style="position:absolute;" height="17px" width="17px"> <b>{{ message }}</b></span>
{% endfor %}
{% endif %}