我想在Django中使用captcha实现用户注册。django-registration应用的工作流程很棒,但它没有验证码。
你会推荐使用哪种验证码呢?关于这个主题,有没有registration+captcha的其他变体或有用的链接?
这应该适用于Django-1.1,并且安装起来不会太难。
发布于 2010-02-17 04:14:58
django-注册是非常可扩展的。扩展它的一种方法是提供自定义注册表单。我建议使用reCaptcha,例如使用来自here (archived)的小部件和表单字段。然后它就像编写一个自定义窗体类和注册后端一样简单(这比听起来要简单):
from registration.backends.default import DefaultBackend
from registration.forms import RegistrationForm
class RecaptchaRegistrationForm(RegistrationForm)
recaptcha = ReCaptchaField(label="I'm a human")
class RecaptchaRegistrationBackend(DefaultBackend):
def get_form_class(self, request):
return RecaptchaRegistrationForm最后一步是告诉django-registration使用你的后端。该步骤在docs中进行了描述(对不起,我找不到文档的超文本标记语言版本)
发布于 2013-04-24 23:22:04
我刚刚遇到了这个问题,但解决方案非常简单。
我正在使用django-registration,并且我想要一个用于用户注册的reCAPTCHA字段。只需1分钟:
在你的项目上下载(pip install django-recaptcha)
INSTALLED_APPS中,并将RECAPTCHA_PUBLIC_KEY和RECAPTCHA_PRIVATE_KEY密钥也添加到settings.py中(如installation instructions)registration/forms.py中所述,并将此字段添加到class RegistrationForm(forms.Form):中captcha = ReCaptchaField()
您还必须导入:
from captcha.fields import ReCaptchaField
就是这样。不到一分钟。
发布于 2011-01-07 08:20:33
对于像我这样的新手来说,现在有一堆解决方案,它们很容易安装:
我已经成功地设置了Django Mollom和Django Simple Captcha,最困难的部分是在我的Mac上安装PIL。实现代码就像文档所建议的那样简单。
https://stackoverflow.com/questions/2275806
复制相似问题