obtener google generate django captcha registration

django - google - no captcha recaptcha



¿Fácil de usar django captcha o aplicación de registro con captcha? (3)

Acabo de tener este problema, pero la solución es muy simple.

Estoy usando django-registration y quiero un campo reCAPTCHA para el registro de usuarios. En tan solo 1 minuto:

  1. descargar django-recaptcha ( pip install django-recaptcha )

  2. Instálalo en tu proyecto. Es decir, copie la carpeta "captcha" a su proyecto, agregue "captcha" a INSTALLED_APPS y agregue las teclas RECAPTCHA_PUBLIC_KEY y RECAPTCHA_PRIVATE_KEY a settings.py también (como se describe en las instrucciones de instalación)

  3. registration/forms.py y agregue este campo dentro de la class RegistrationForm(forms.Form):

    captcha = ReCaptchaField()

    También tendrás que importar:

    from captcha.fields import ReCaptchaField

Y eso es. Menos de un minuto.

Quiero implementar el registro de usuarios usando captcha en Django. El flujo de trabajo de la aplicación de django-registration es genial, pero no tiene captcha.

¿Qué captcha recomendarías usar con él? ¿Existen otras variantes de registro + captcha o enlaces útiles sobre el tema?

Esto debería funcionar con Django-1.1 y no ser tan difícil de instalar.


El registro django es bastante extensible. Una forma de ampliarlo es proporcionar un formulario de registro personalizado. Recomiendo usar reCaptcha , por ejemplo, con el widget y el campo de formulario desde here ( archived ). Entonces es tan simple como escribir una clase de formulario personalizado y un backend de registro (que es más simple de lo que parece):

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

El último paso es decirle a django-registration que use su backend. Ese paso se describe en los docs (no pude encontrar una versión HTML de los documentos, lo siento)


Para aquellos que, como yo, llegan tarde al tema, hay un montón de soluciones que hay bastante fáciles de instalar:

He configurado con éxito Django Mollom y Django Simple Captcha, y la parte más difícil fue el afeitado de yak alrededor de la instalación de PIL en mi Mac. Implementar el código fue tan sencillo como sugerirían los documentos de cada uno.