跳转到主要内容

Django reCAPTCHA 表单字段/小部件应用程序。

项目描述

Django reCAPTCHA 表单字段/小部件集成应用程序。

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

安装

  1. 安装或添加 nobot 到您的Python路径。

  2. nobot 添加到您的 INSTALLED_APPS 设置。

  3. 在项目的 settings.py 文件中添加一个 NOBOT_RECAPTCHA_PUBLIC_KEY 设置。这是reCAPTCHA提供的公钥,即

    NOBOT_RECAPTCHA_PUBLIC_KEY = '76wtgdfsjhsydt7r5FFGFhgsdfytd656sad75fgh'

    可以在运行时通过在构建 ReCaptchaField 时传递 public_key 参数来单独指定,请参阅下面的字段使用说明。

  4. 在项目的 settings.py 文件中添加一个 NOBOT_RECAPTCHA_PRIVATE_KEY 设置。这是reCAPTCHA提供的私钥,即

    NOBOT_RECAPTCHA_PRIVATE_KEY = '98dfg6df7g56df6gdfgdfg65JHJH656565GFGFGs'

    可以在运行时通过在构建 ReCaptchaField 时传递 private_key 参数来单独指定,请参阅下面的字段使用说明。

用法

字段

将reCAPTCHA添加到表单的最快方法是使用提供的 ReCaptchaField 字段类型。将渲染 ReCaptcha 小部件,该字段将自动验证,无需您采取任何进一步操作。例如

from django import forms
from nobot.fields import ReCaptchaField

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

reCAPTCHA小部件支持多个JavaScript选项变量,用于自定义小部件的行为,例如主题语言。您可以通过传递一个包含选项字典的attr参数来将这些选项传递给小部件,即传递给ReCaptchaField

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

验证码客户端接收键/值对,并在JavaScript中写入RecaptchaOptions值。

测试

为了获取包含reCAPTCHA字段的有效表单(离线),可以模拟ReCaptchaClient或HumanCaptchaClient的验证方法,即

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

鸣谢

最初由Praekelt Consulting以django-recaptcha的名称开发。为了更好的可测试性和可扩展性而分支。作者 ==

nobot之前以django-recaptcha的名称开发,并受Praekelt Foundation版权保护。以下版权声明适用于重命名前的版本:“版权(c)Praekelt Foundation

包维护者

  • Christopher Grebs

Praekelt Consulting

  • Shaun Sephton

  • Peter Pistorius

  • Hedley Roos

bTaylor Design

其他

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

nobot-0.7.tar.gz (12.2 kB 查看哈希)

上传时间:

构建分布

nobot-0.7-py2.py3-none-any.whl (11.5 kB 查看哈希)

上传时间: Python 2 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面