为窗体添加防机器人的验证机制

安装对应的模块

pip install django-simple-captcha

在setting,py中添加以下语句

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'oneapp01',
    'captcha',#防伪机制包

)

在urls添加:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url('^',include('oneapp01.urls')),
    url('^captcha/',include('captcha.urls')),
]

确定是否装了Pillow,用pip list, 没有就pip install Pillow

以上步骤ok,就可以在窗口类forms.py或者model.py添加CaptchaField

from django.db import models
from django import forms
from captcha.fields import CaptchaField
class PostForm(forms.ModelForm):
    captcha = CaptchaField()#防伪机制添加
    class Meta:
        model= Post#用于指定用哪个model
        fields= ['mood','nickname','message','del_pass']#用于指定用model中哪些变量

    def __init__(self, *args, **kwarge):
        super(PostForm, self).__init__(*args, **kwarge)
        self.fields['mood'].label = '现在的心情'
        self.fields['nickname'].label = '你的昵称'
        self.fields['message'].label = '你的消息'
        self.fields['del_pass'].label = '设置密码'
        self.fields['captcha'].label = '确定你不是机器人' #防伪机制添加

最后执行:

python manage.py makemigrations
python manage.py migrate

附上运行结果

原文地址:https://www.cnblogs.com/guguobao/p/9323711.html