urls.py:
url(r'^password/reset/$', 'django.contrib.auth.views.password_reset', {'html_email_template_name': 'email_password.html'}, 'password_reset'), 当用户想要重置密码时,我需要使用password_reset(),因为需要检查request.POST['g-recaptcha-response']并向谷歌提出请求(请求工作)。
但我不想用Django源代码编写代码,也不想使用像django-recaptcha这样的包。
我如何重写password_reset()或做其他事情来解决这个问题?
谢谢!
发布于 2014-11-25 21:04:18
这样做的一种方法是创建调用密码重置视图的自己的视图:
from django.contrib.auth.views import password_reset
def my_password_reset(request):
# check captcha here
return password_reset()password_reset方法接收的参数之一是"password_reset_form",它是要用于重置密码的窗体的类。我建议您不要检查自定义视图中的captcha,而是在从django.contrib.auth.forms.PasswordResetForm扩展的新的自定义表单中检查它。
https://stackoverflow.com/questions/27134232
复制相似问题