gpt4 book ai didi

python - “str”对象不可调用/django/contrib/auth/views.py in password_reset,第 185 行

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:45 25 4
gpt4 key购买 nike

我正在尝试自定义 django.contrib.auth.views.password_reset 的 PasswordResetForm 表单。我从 Django's website 复制了代码或者那个GitHub ,并将其放入我的 forms.py 中。我更改了代码:

表格.py

email = forms.EmailField(label=_("Email"), max_length=254)

email = forms.EmailField(label=_("Email"), max_length=254, widget=forms.EmailInput(attrs={'placeholder': 'E-mail'}))

并保持剩余的 PasswordResetForm 代码完整。

网址.py

url(r'^password/reset/$','django.contrib.auth.views.password_reset', {'post_reset_redirect': '/password/reset/done/', 'password_reset_form': 'forms.PasswordResetForm',}, name="password_reset"),

但是我收到以下错误:

Exception Location: /Library/Python/2.7/site-packages/Django-1.8.3-py2.7.egg/django/contrib/auth/views.py in password_reset, line 185

185. form = password_reset_form()

我让它在没有这种定制的情况下工作。我需要自定义,因为我想在该字段中使用 PlaceHolder。如果我删除 url 中的 key ,它将起作用。

最佳答案

password_reset_form 的值应该是实际的表单类,而不是表单的字符串路径。例如,如果您使用

导入表单
from forms import PasswordResetForm

然后你会做:

url(r'^password/reset/$', 'django.contrib.auth.views.password_reset', {'post_reset_redirect': '/password/reset/done/', 'password_reset_form': PasswordResetForm}, name="password_reset"),

顺便说一句,使用像 django.contrib.auth.views.password_reset 这样的字符串 View 在 Django 1.8 中已被弃用,并将在 Django 1.10 中停止工作。相反,您可以导入授权 View ,

from django.contrib.auth import views as auth_views

并将 url 模式更改为

url(r'^password/reset/$', auth_views.password_reset, {'post_reset_redirect': '/password/reset/done/', 'password_reset_form': PasswordResetForm}, name="password_reset"),

关于python - “str”对象不可调用/django/contrib/auth/views.py in password_reset,第 185 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33387988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com