gpt4 book ai didi

django - 在 Django 中正确使用 PasswordResetForm

转载 作者:行者123 更新时间:2023-12-04 02:45:13 25 4
gpt4 key购买 nike

我正在尝试使用 django 假定的 PasswordResetForm 功能为我的 django 应用程序创建密码重置表单。

我在 中创建了一个表单forms.py

class UserForgotPasswordForm(PasswordResetForm):
email = forms.EmailField(required=True,max_length=254)
class Meta:
model = User
fields = ("email")

我在设置 view 时遇到问题在 View .py 为了使用这种形式,我目前有:
def UserResetPassword(request):
form = UserForgotPasswordForm(None, request.POST)
if request.method == 'POST':
if form.is_valid():
email = request.POST.get('email', '')
user =

我的 urls.py
urlpatterns = patterns('',
(r'^ForgotPassword/$',UserResetPassword),
)

我有点不知道如何进一步使用它,因为我发现的文档很少,而且通常不直接使用 PasswordResetForm Django 功能。

有人可以伸出援手吗?

谢谢你。

最佳答案

我相信您需要做的就是调用 form.save() 并且 PasswordResetForm 将生成一个一次性使用链接并将其通过电子邮件发送给您的用户。它查找与表单中输入的电子邮件匹配的用户。

所以它会是这样的:

def UserResetPassword(request):
form = UserForgotPasswordForm(None, request.POST)
if request.method == 'POST':
if form.is_valid():
form.save(from_email='blah@blah.com', email_template_name='path/to/your/email_template.html')

如果您不指定电子邮件模板名称,django 将只使用 the default one .

关于django - 在 Django 中正确使用 PasswordResetForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18949955/

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