一、前提
在我们访问网站,通常在注册或登录的时候需要舒服验证码,现在来说说django中的验证码第三方插件captcha。
二、安装
1、pip安装(这里要注意一点版本)
pip install django-simple-captcha==0.4.6
2、在setting中添加这个app
captcha 本质也是一个app,所以需要在setting中加入这个app才可以使用
3、在urls中添加:
url(r'^captcha',include('captcha.urls'))
4、更新数据库
运行 makemigrations 和 migrate
三、使用
这里为了方便,直接使用djangoForm了。
1、在需要验证的app目录下新建forms.py并添加:
from captcha import CaptchaField
class RegisterForm(forms.Form):
captcha = CaptchaField()
注:这里的captcha = CaptchaField()就是使用了captcha这个插件了。
2、写过Form之后,肯定是在前端页面上引用了(这里只要引用就行,django captcha 会自动帮你创建div input格式)
3、views.py中编写逻辑了。(这里用了CBV)
1)、 先写get逻辑,就是访问页面时出现的验证码图片
def get(self,request):
register_form = RegisterForm()
retuen render(request,'xx.html',{'register_form':Register_form})
2)、post逻辑,这里简单说下,利用django Form表单,可以直接判断input里和图片中是否一致
def post(self,request):
register_form = RegisterForm(request.POST)
if register_form.is_valid():
pass
#这里必须添加request.POST来获取提交的表单数据,is_valid()用来判断是否返回值了,返回值为上一步正确了。