[英]Will the django built in password reset views work with a custom user that inherits from AbstractBaseUser?
[英]How to send password reset mail from custom Django views?
我有自定義User
模型的Django 2.0.2
。 其中一個功能是為匿名用戶提供創建訂單的方法,而無需在網站上“注冊優先”。
主要想法是:
Create Order
; User
; 這被兩個函數殺死了一個:用戶注冊並創建第一個訂單。
問題:如何從我的自定義視圖發送重置密碼郵件? 據我所知,鏈接會生成並發送PasswordResetView
視圖,但如何在自定義視圖上調用它們?
要從視圖發送密碼重置鏈接,您可以填寫PasswordResetForm,這是PasswordResetView https://docs.djangoproject.com/en/2.0/topics/auth/default/#django.contrib.auth使用的密碼重置方式。 forms.PasswordResetForm
如另一個stackoverflow回答這里https://stackoverflow.com/a/30068895/9394660所述,表單可以像這樣填充:
from django.contrib.auth.forms import PasswordResetForm
form = PasswordResetForm({'email': user.email})
if form.is_valid():
request = HttpRequest()
request.META['SERVER_NAME'] = 'www.mydomain.com'
request.META['SERVER_PORT'] = '443'
form.save(
request= request,
use_https=True,
from_email="username@gmail.com",
email_template_name='registration/password_reset_email.html')
注意:如果您不使用https,請將端口替換為80,並且不要包含use_https = True
根據情況,您可能已經有了請求,也不需要創建一個請求
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.