Skip to main content

Django recaptcha form field/widget app.

Project description

Django reCAPTCHA form field/widget integration app.

https://travis-ci.org/EnTeQuAk/nobot.svg?branch=master https://badge.fury.io/py/nobot.png https://pypip.in/d/nobot/badge.png

Installation

  1. Install or add nobot to your Python path.

  2. Add nobot to your INSTALLED_APPS setting.

  3. Add a NOBOT_RECAPTCHA_PUBLIC_KEY setting to the project’s settings.py file. This is your public API key as provided by reCAPTCHA, i.e.:

    NOBOT_RECAPTCHA_PUBLIC_KEY = '76wtgdfsjhsydt7r5FFGFhgsdfytd656sad75fgh'

    This can be seperately specified at runtime by passing a public_key parameter when constructing the ReCaptchaField, see field usage below.

  4. Add a NOBOT_RECAPTCHA_PRIVATE_KEY setting to the project’s settings.py file. This is your private API key as provided by reCAPTCHA, i.e.:

    NOBOT_RECAPTCHA_PRIVATE_KEY = '98dfg6df7g56df6gdfgdfg65JHJH656565GFGFGs'

    This can be seperately specified at runtime by passing a private_key parameter when constructing the ReCaptchaField, see field usage below.

Usage

Field

The quickest way to add reCAPTHCA to a form is to use the included ReCaptchaField field type. A ReCaptcha widget will be rendered with the field validating itself without any further action required from you. For example:

from django import forms
from nobot.fields import ReCaptchaField

class FormWithCaptcha(forms.Form):
    captcha = ReCaptchaField()

The reCAPTCHA widget supports several Javascript options variables customizing the behaviour of the widget, such as theme and lang. You can forward these options to the widget by passing an attr parameter containing a dictionary of options to ReCaptchaField, i.e.:

captcha = ReCaptchaField(attrs={'theme' : 'clean'})

The captcha client takes the key/value pairs and writes out the RecaptchaOptions value in JavaScript.

Testing

To obtain a valid form containing a reCAPTCHA field offline one can mock the verify method of ReCaptchaClient or HumanCaptchaClient, i.e.:

import mock
from nobot.client import RecaptchaResponse

class MyTestClass:

    @mock.patch('nobot.client.HumanCaptchaClient.verify')
    def test_with_valid_form(self, nobot_mock):
        nobot_mock.return_value = RecaptchaResponse(is_valid=True, error_code=None)

        # ...
        # Test your form or view
        # recaptcha won't 'spoil' test validation offline now

Credits

Originally developed under the name django-recaptcha by Praekelt Consulting. Forked for better testability and extensibility. Authors =======

nobot was previously developed under the name django-recaptcha and under the Copyright of Praekelt Foundation. The following copyright notice holds true for releases before the renaming: “Copyright (c) by Praekelt Foundation

Package Maintainer

  • Christopher Grebs

Praekelt Consulting

  • Shaun Sephton

  • Peter Pistorius

  • Hedley Roos

bTaylor Design

Other

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nobot-0.6.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

nobot-0.6-py2.py3-none-any.whl (11.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file nobot-0.6.tar.gz.

File metadata

  • Download URL: nobot-0.6.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for nobot-0.6.tar.gz
Algorithm Hash digest
SHA256 bd9298db80ceab284f91d76b413af08533219ec1f1af6d87995b46acf7808f20
MD5 755f39716bfe2fcb985de6c22835e747
BLAKE2b-256 bc4526ddd69264745b08b50e705155815765ba91519a190e19fb74a4f43cfec5

See more details on using hashes here.

Provenance

File details

Details for the file nobot-0.6-py2.py3-none-any.whl.

File metadata

  • Download URL: nobot-0.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for nobot-0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 121ce070b52652b3e3f758309d30b49b7da5ffd70706ef80f72d1bf636e9f03e
MD5 25cfe91bce7cb32476a8d6992b42890a
BLAKE2b-256 6874e0549b950f433bd16bfa55ba4fd2ba0f298d5c829588fb263841303f4472

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page