Skip to content

๐Ÿ”’ Django rest recaptcha field for easy integration of google recaptcha with django-rest-framework.

License

Notifications You must be signed in to change notification settings

Artconomy/django-rest-recaptcha

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Django Rest reCAPTCHA

Django Rest reCAPTCHA field to add google recaptcha in django-rest-framework

Requirements

Tested with:

  • Python: 2.7, 3.5
  • Django: 1.8, 1.9, 1.10, 1.11

Installation

  1. Install with pip install django-rest-recaptcha.
  2. Add 'recaptcha' to your INSTALLED_APPS setting.
  3. Register and obtain recaptcha keys here https://www.google.com/recaptcha/admin

#. Add the obtained keys to settings(For testing and development you can leave it blank to use default test keys as mentioned here https://developers.google.com/recaptcha/docs/faq). For example:

GR_CAPTCHA_SECRET_KEY = 'GoogleRecaptchaPrivateKey001'

Usage

#. Now you can import and use the recaptcha field in your serializer. For example:

from rest_framework import serializers
from recaptcha.fields import ReCaptchaField

class ExampleSerializer(serializers.Serializer):
     recaptcha = ReCaptchaField(write_only=True)
     ...

Unit Testing

Django Rest reCAPTCHA uses an environment variable RECAPTCHA_TESTING which helps tests. This environment variable should be set to "True" in your testing environment and any value will be considered to be validated.

Example:

import os
os.environ['RECAPTCHA_TESTING'] = 'True'

data = {'recaptcha': 'dummy value'}
response = client.post('/my/api/endpoint/', data)
assert response.status_code == 200

The code above may vary according to your testing suite.

About

๐Ÿ”’ Django rest recaptcha field for easy integration of google recaptcha with django-rest-framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%