Вы не представляете ответ, вы создаете форму и т. Д. c. но вы должны вернуть HTTP-ответ, например, с render
:
from django.shortcuts import <b>render</b>
def ChangePassword(request):
if request.method == 'POST':
form = PasswordChangeForm(data=request.POST, user=request.user)
if form.is_valid():
form.save()
return redirect('profile')
else:
current_user = request.user
form = PasswordChangeForm(user=current_user)
# <i>not</i> in the <b>else</b> block
return <b>render(</b>request, 'some_template.html', {'form': form}<b>)</b>
Вызов render
, должен not быть выполнен в предложении else
. Поскольку возможно, что вы делаете запрос POST, но form
недействителен. Если вы отобразите его в блоке else
, то для недопустимой формы он не будет отображать ответ.