一、前提

在我们访问网站,通常在注册或登录的时候需要舒服验证码,现在来说说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()用来判断是否返回值了,返回值为上一步正确了。