溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Django為窗體加上防機(jī)器人的驗證碼功能過程解析

發(fā)布時間:2020-09-28 05:37:28 來源:腳本之家 閱讀:157 作者:希希里之海 欄目:開發(fā)技術(shù)

這里我們使用 django-simple-captcha 模塊,官方介紹如下:https://github.com/mbi/django-simple-captcha

一鍵安裝:

pip install django-simple-captcha

在 setting.py 中把 'captcha' 加到 INSTALLED_APP 的區(qū)塊中

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

由于此模塊會到數(shù)據(jù)庫建立自己的數(shù)據(jù)表,因此要先執(zhí)行數(shù)據(jù)庫的 migrate 操作:

python manage.py migrate

在 urls.py 中加上這個模塊對應(yīng)的網(wǎng)址:

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 = '現(xiàn)在的心情'
    self.fields['nickname'].label = '您的昵稱'
    self.fields['message'].label = '心情留言'
    self.fields['del_pass'].label = '設(shè)置密碼'
    self.fields['captcha'].label = '請輸入驗證碼'

運行結(jié)果如下:

Django為窗體加上防機(jī)器人的驗證碼功能過程解析

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI