如何在 Django 中实现验证码功能?
在 Django 中实现验证码功能可以使用第三方库 django-simple-captcha,该库提供了多种验证码类型(数字、字母、算术等)和自定义样式的功能。
安装 django-simple-captcha:
pip install django-simple-captcha
在 settings.py 中添加以下配置:
INSTALLED_APPS = [ # ... 'captcha', ] CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.random_char_challenge' CAPTCHA_LENGTH = 6 # 验证码长度 CAPTCHA_FONT_SIZE = 28 # 字体大小 CAPTCHA_FONT_PATH = 'path/to/font.ttf' # 字体文件路径 CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_arcs',) # 杂点类型 CAPTCHA_BACKGROUND_COLOR = 'white' # 背景色 CAPTCHA_FOREGROUND_COLOR = 'black' # 前景色
在 forms.py 中定义表单类,添加验证码字段:
from captcha.fields import CaptchaField class LoginForm(forms.Form): # ... captcha = CaptchaField()
在模板中使用验证码:
<form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">登录</button> </form>
以上是使用 django-simple-captcha 实现验证码的基本步骤,具体可以根据需求自定义样式和操作逻辑。
相关文章