Django为窗体加上防机器人的验证码功能过程解析

  • 时间:
  • 浏览:15

那里我们利用 django-***-captcha 模块,民圆引见以下:https://github.com/mbi/django-***-captcha

1键装置:

pip install django-***-captcha

正在 setting.py 中把 'captcha' 减到 INSTALLED_APP 的区块中

INSTALLED_APPS = (
  # ...
  'captcha',
  # ... 
)

因为此模块会到数据库成立本身的数据表,因而要先履行数据库的 migrate 操纵:

Python manage.py migrate

正在 urls.py 中减上那个模块对应的网址:

from django.urls import path, re_path, include
urlpatterns = [
  #...
  url(r'^captcha/', include('captcha.urls'),
  # ...
]

正在窗体类中减上 CaptchaField 字段 :

from captcha.fields import CaptchaField
class PostForm(forms.ModelForm):
  captcha = CaptchaField() #CaptchaField 字段
  class Meta:
    model = models.Post
    fields = ['mood', 'nickname', 'message', 'del_pass']

  def __init__(self, *args, **kwargs):
    super(PostForm, self).__init__(*args, **kwargs)
    self.fields['mood'].label = '如今的表情'
    self.fields['nickname'].label = '您的昵称'
    self.fields['message'].label = '表情留行'
    self.fields['del_pass'].label = '设置稀码'
    self.fields['captcha'].label = '请输出考证码'

运转成果以下:

以上便是本文的全数内容,期望对各人的进修有所帮忙,也期望各人多多撑持剧本之家。