Я пытаюсь создать ChangePasswordForm, но он не отображается в шаблоне. Раздел печатает только описание, но не показывает форму. Кстати, я читал об этой конкретной форме c, и большинство веб-сайтов утверждают, что она была реализована с помощью Django, поэтому я не поместил ее в формы. Я думаю, что это может быть ошибкой. Обновление: я добавил первую форму, в этом шаблоне я работаю с двумя формами, но первая работает нормально, проблема только во второй.
views.py
def profileedit_view(request):
form= PerfilEditadoForm(request.POST or None)
if request.method== 'POST':
form.instance = request.user
if form.is_valid():
form.save()
return redirect('profileedit')
else:
form= PerfilEditadoForm(instance=request.user)
args= {'form': form}
return render(request, 'profileedit.html', args)
context = {
'form1': form
}
return render(request, "profileedit.html", context)
def change_password_view(request):
if request.method == 'POST':
form = PasswordChangeForm(request.user, request.POST)
if form.is_valid():
user = form.save()
update_session_auth_hash(request, user) # Important!
messages.success(request, 'Contraseña cambiada con éxito')
return redirect('profileedit')
else:
messages.error(request, 'Ha ocurrido un error.')
else:
form = PasswordChangeForm(request.user)
context = {
'form2': form
}
return render(request, 'profileedit.html', context)
шаблон (в случае)
<div class="tab-pane container p-0 active" id="home1">
<form method="POST" action="#"> {% csrf_token %}
<p>Por favor, no dejes ningún campo en blanco.
<center> {{ form1.as_ul }}
<button class="btn btn-primary py-1 px-2" type="submit" > Save </button>
</center> </p>
</form>
</div>
<div class="tab-pane container p-0 fade" id="home2">
<form method="POST" action="#"> {% csrf_token %}
<p> Por favor, escriba en los siguientes campos.
<center> {{ form2.as_ul }}
<button class="btn btn-primary py-1 px-2" type="submit" > Save </button></center></p></form>>
</div>
urls.py
urlpatterns = [
path ('profileedit', profileedit_view, name='profileedit'),
path('profileedit', change_password_view, name='profileedit')] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
здесь две формы в одном шаблоне, но первая работает нормально