[英]reCaptcha with password_reset() in Django
urls.py:
url(r'^password/reset/$', 'django.contrib.auth.views.password_reset', {'html_email_template_name': 'email_password.html'}, 'password_reset'),
我已阅读此内容,并查看了password_reset()的代码。
当用户想要重置密码时,我需要使用reCaptcha-在password_reset()中需要检查request.POST['g-recaptcha-response']
并向Google提出请求(请求有效)。
但是我不想用Django源代码编写代码,也不想使用django-recaptcha之类的包。
如何重写password_reset()或执行其他操作来解决此问题?
谢谢!
一种方法是创建自己的视图,该视图调用密码重置视图:
from django.contrib.auth.views import password_reset
def my_password_reset(request):
# check captcha here
return password_reset()
password_reset方法接收的参数之一是“ password_reset_form”,这是您要用来重置密码的表单的类。 我建议不要在自定义视图上检查验证码,而应在从django.contrib.auth.forms.PasswordResetForm扩展的新自定义表单中进行检查
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.