一、前提
在我們訪問網站,通常在註冊或登錄的時候需要舒服驗證碼,現在來說說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()用來判斷是否返回值了,返回值爲上一步正確了。