您要自定义
PasswordReset视图。默认情况下,它使用
PasswordResetForm您可以自定义的。
# in e.g. myapp/forms.pyfrom django.contrib.auth.forms import PasswordResetFormclass CaptchaPasswordResetForm(PasswordResetForm): captcha = ReCaptchaField() ...
然后在中
urls.py,导入您的表单,并使用
form_class指定表单。
from django.contrib.auth import views as auth_viewsfrom django.urls import pathfrom web.forms import CaptchaPasswordResetFormurlpatterns = [ path("accounts/password_reset/", auth_views.PasswordResetView.as_view(form_class=CaptchaPasswordResetForm)),]对于Django <1.11,您需要自定义
password_reset视图的URL模式,并将其设置
password_reset_form为
from django.contrib.auth import views as auth_viewsfrom myapp.forms import CaptchaPasswordResetFormurlpatterns = [ ... url( r'^password_reset/', auth_views.password_reset, {'password_reset_form': CaptchaPasswordResetForm}, )]有关在您的网址中包含密码重置视图的更多信息,请参阅docs。



