Не могу понять почему рендерятся ошибки формы (This field is required) при вызове функции
Когда вызываю страницу для смены пароля в полях формы вылезает
view.py
@login_required
def change_password(request):
u = User.objects.get(username=request.user)
if request.method == 'POST':
form = ChangePasswordForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
old_password = cd["old_password"]
new_pass = cd["new_pass"]
new_pass_rep = cd["new_pass_rep"]
if u.check_password(old_password) and new_pass == new_pass_rep:
u.set_password(new_pass)
u.save()
return redirect('/account/login')
else:
return render(request, 'account/templates/change_password.html', {'form': form, 'msg': 'Пароли не совпадают})
form = ChangePasswordForm(request.POST)
return render(request, 'account/templates/change_password.html', {'form': form})
forms.py
class ChangePasswordForm(forms.Form):
old_password = forms.CharField(label='Введите старый пароль', max_length=100, widget=forms.PasswordInput)
new_pass = forms.CharField(label='Введите новый пароль', max_length=100, widget=forms.PasswordInput)
new_pass_rep = forms.CharField(label='Введите новый пароль', max_length=100, widget=forms.PasswordInput)
change_password.html
{% extends "main/templates/layout.html" %}
{% block title %}Смена пароля{% endblock %}
{% block content %}
<h1>Смена пароля</h1>
<p>Введите данные чтобы сменить пароль</p>
<form action="{% url 'account:change_password' %}" method="post">
{{ form.as_p }}
{% csrf_token %}
<p><input type="submit" value="Сменить пароль"></p>
</form>
<p>{{ msg }}</p>
{% endblock %}