跳转到主要内容

适用于Django表单的易于使用的数学字段/小部件验证码。

项目描述

当前版本:2.0.1

对于Django 4,使用2.0.x。对于Django < 4,使用1.1.0

这是什么?

一个多值字段,展示一个人类可回答的问题,无需settings.py配置,而是可以通过字段构造函数的参数进行配置。

安装

您可以通过以下任何一种方式安装 django-simple-math-captcha

  • 运行 pip install django-simple-math-captcha

  • 下载或“git clone”该软件包并运行 setup.py

  • 下载或“git clone”该软件包并将 simplemathcaptcha 目录添加到您的 PYTHONPATH

simplemathcaptcha 添加到Django设置中的INSTALLED_APPS

使用方法

表单

要将验证码字段添加到您的表单中

from django import forms
from simplemathcaptcha.fields import MathCaptchaField

class MyForm(forms.Form):
    some_text_field = models.CharField(max_length=50)
    captcha = MathCaptchaField()

可选地,您可以将以下参数传递给字段以对其进行配置。

start_int

字段应该开始的随机数范围的数字。此值将用于传递给创建此字段的 simplemathcaptcha.widgets.MathCaptchaWidget

默认值: 1

end_int

字段应该结束的随机数范围的数字。此值将用于传递给创建此字段的 simplemathcaptcha.widgets.MathCaptchaWidget

默认值: 10

error_messages

错误信息词典。你可以使用的键是 invalidinvalid_number

invalid

是当提供的答案不正确时显示的消息

默认值: "检查你的数学并再次尝试。"

invalid_number

是当输入不是整数时显示的消息

默认值: "请输入一个整数。"

question_tmpl

用于显示问题的格式化字符串

默认值: "什么是 %(num1)i %(operator)s %(num2)i?"

question_class

用于包含显示问题的 span 的 CSS 类

默认值: "captcha-question"

widget

要使用的 widget 实例,而不是创建 simplemathcaptcha.widgets.MathCaptchaWidget 实例的字段。当提供时,它必须是一个实例化的 widget,而不是一个 widget 类。

此外,当指定 widget 时,请不要指定 start_intend_int

默认值: None

原理

其他数学验证码字段可以显示需要小数答案、可能为负值且需要 settings.py 配置的问题。本项目旨在提供单个字段,无需或仅需最少配置,并减少或防止垃圾邮件表单提交。

状态

django-simple-math-captcha 目前在生产中使用。

功能

  • 用于验证码的简单加、减或乘问题

  • 无需配置

  • 每次渲染时提出的问题都会改变

  • 使用 SHA1 哈希与你的 SECRET_KEY 对答案进行加密

  • 源代码中提供了单元测试

兼容性

对于不支持 Python 3 的任何版本的 Django,请使用 django-simple-math-captcha 1.0.9 或以下版本,否则请使用 1.1.0 或以上版本。

许可协议

django-simple-math-captcha 应用程序在 Apache 公共许可证 v2 下发布。

项目详情


下载文件

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

源代码分发

django-simple-math-captcha-2.0.1.tar.gz (8.6 kB 查看哈希)

上传时间

构建分发

django_simple_math_captcha-2.0.1-py2-none-any.whl (13.9 kB 查看哈希)

上传时间 Python 2

由以下支持