我正在 Django 上做一个简单的用户注册。用户注册和登录工作。现在我希望用户能够登录到他们的个人资料并能够更改他们的密码。为此,我使用了 PasswordChangeForm。这就是我所做的。views.py 文件
from django.contrib.auth.forms import PasswordChangeForm
from django.views.generic.edit import FormView
class ChangeFormView(FormView):
form_class = PasswordChangeForm
success_url = '/'
template_name = 'app/edit_pass.html'
def form_valid(self, form):
form.save()
return super(ChangeFormView, self).form_valid(form)
网址.py文件
from django.conf.urls import url
from . import views
urlpatterns = [
# некоторые урлы здесь
url(r'^edit_pass/$', views.ChangeFormView.as_view()),
]
在 profile.html 文件中,我写了一个链接来更改密码
<a href="/edit_pass">change a password</a>
在文件 edit_pass.html 中我有一个简单的表格
<form action="" method="POST">
{% csrf_token %}
{{form.as_p}}
<button type="submit">edit a password</button>
</form>
结果,我在 /edit_pass/ 处收到错误 TypeError 如何正确执行?
views.py 文件