Skip to main content

Google recaptcha helps you protect your web form by using google's latest recaptcha (Completely Automated Public Turing test to tell Computers and Humans Apart) technology.

Project description

Standalone Google Recaptcha for Python

Google recaptcha helps you protect your web form by using google's latest recaptcha (Completely Automated Public Turing test to tell Computers and Humans Apart) technology.

PyPi PyPI Downloads

Documentation

Installation

pip install google-recaptcha

Introduction

Current version of the library works by placing the {{ recaptcha }} object in the form you want to protect. It searches automatically for the form that the object is placed in.

From version 2.0.0, you can use the "Checkbox" version of Google's recaptcha. By default, the library is using v3, so if you want to use v2 you have to explicitly set it when initializing the ReCaptcha object (See below).

Site's and secret's keys can be either passed to the object in your views file or export them as environment variables respectively RECAPTCHA_SITE_KEY and RECAPTCHA_SECRET_KEY.

# With environment variables

from google_recaptcha import ReCaptcha
app = Flask(__name__)
recaptcha = ReCaptcha(app) # Uses version 3 by default
recaptcha = ReCaptcha(app, version=3) # Explicitly set version 3 (same as above, just for brevity)
recaptcha = ReCaptcha(app, version=2) # Excplicitly set version 2

@app.route("/contact/", methods=["GET", "POST"])
def home():

    if recaptcha.verify():
        print('Recaptcha has successded.')
    else:
        print('Recaptcha has failed.')
# Without environment variables
from google_recaptcha import ReCaptcha
app = Flask(__name__)
recaptcha = ReCaptcha(
    app=app,
    site_key="your-site-key",
    secret_key="your-secret-key"
)

@app.route("/contact/", methods=["GET", "POST"])
def home():

    if recaptcha.verify():
        print('Recaptcha has successded.')
    else:
        print('Recaptcha has failed.')

In your HTML template file:

<form id="contact-form" method="post" class="control-form">
    <div class="row">
        <div class="col-xl-6">
            <input type="text" name="name" placeholder="Name" required="" id="id_name">
        </div>
        <div class="col-xl-6">
            <input type="text" name="email" placeholder="Email" required="" id="id_email">
        </div>
        <div class="col-xl-12">
            <input type="text" name="subject" placeholder="Subject" required="" id="id_subject">
        </div>
        <div class="col-xl-12">
            <textarea name="message" cols="40" rows="10" placeholder="Message" required="" id="id_message"></textarea>
        </div>
        <div class="col-xl-12">
            <button id="form-btn" type="submit" class="btn btn-block btn-primary">Send now</button>
        </div>
    </div>
    {{ recaptcha }}
</form>

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

google-recaptcha-2.0.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

google_recaptcha-2.0.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file google-recaptcha-2.0.1.tar.gz.

File metadata

  • Download URL: google-recaptcha-2.0.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for google-recaptcha-2.0.1.tar.gz
Algorithm Hash digest
SHA256 6abb5c01413919fdae4c6cf7f70b2c35fe4b2989a1abd47f212ed98c5f115355
MD5 5b1c7565ab18bcc69e36e8d07a40fa49
BLAKE2b-256 5ca7e4a28b8a1551ed4cc7c2ad1d0b85c37c09f054f807e6dff512a829617e8d

See more details on using hashes here.

File details

Details for the file google_recaptcha-2.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for google_recaptcha-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9952d6b9bd7c7c29090c6967398ad89d90b79905ef23a3ab822630ccb985abf5
MD5 e18bf6e338db28fd29c982a8718b8d7b
BLAKE2b-256 c56033bb8f1f4a6779573da9ab14c8ffb92bde80232fc531b8013a29e14eda17

See more details on using hashes here.

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