日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Django-simple-captcha驗證碼包使用方法詳解

瀏覽:152日期:2024-09-16 16:30:49

django-simple-captcha是django的驗證碼包,非常簡單實用,這次記錄的是如何點擊驗證碼后刷新驗證碼,因為這個功能官方文檔并沒有詳細給出。

django-simple-captcha官方文檔:http://django-simple-captcha.readthedocs.io/en/latest/

django-simple-captcha的github網址:https://github.com/mbi/django-simple-captcha

開始

1.安裝 pip install django-simple-captcha, pip install Pillow

2.將captcha 加入 settings.py 的 INSTALLED_APPS

3.運行 python manage.py makemigrations 和 python manage.py migrate

4.url路由加入urls.py的urlpatterns

urlpatterns = [ path(’captcha/’, include(’captcha.urls’)), # 圖片驗證碼 路由 path(’refresh_captcha/’, views.refresh_captcha), # 刷新驗證碼,ajax path(’test/’,IndexView.as_view()), #get與post請求路徑]

5.在views.py中加入以下代碼

from django.shortcuts import renderfrom django.views.generic import Viewfrom captcha.models import CaptchaStorefrom captcha.helpers import captcha_image_urlfrom django.http import HttpResponseimport json# 創建驗證碼def captcha(): hashkey = CaptchaStore.generate_key() # 驗證碼答案 image_url = captcha_image_url(hashkey) # 驗證碼地址 captcha = {’hashkey’: hashkey, ’image_url’: image_url} return captcha#刷新驗證碼def refresh_captcha(request): return HttpResponse(json.dumps(captcha()), content_type=’application/json’)# 驗證驗證碼def jarge_captcha(captchaStr, captchaHashkey): if captchaStr and captchaHashkey: try: # 獲取根據hashkey獲取數據庫中的response值 get_captcha = CaptchaStore.objects.get(hashkey=captchaHashkey) if get_captcha.response == captchaStr.lower(): # 如果驗證碼匹配return True except: return False else: return Falseclass IndexView(View): def get(self, request): hashkey = CaptchaStore.generate_key() # 驗證碼答案 image_url = captcha_image_url(hashkey) # 驗證碼地址 print(hashkey,image_url) captcha = {’hashkey’: hashkey, ’image_url’: image_url} return render(request, 'login.html', locals()) def post(self, request): capt = request.POST.get('captcha', None) # 用戶提交的驗證碼 key = request.POST.get('hashkey', None) # 驗證碼答案 if jarge_captcha(capt, key): return HttpResponse('驗證碼正確') else: return HttpResponse('驗證碼錯誤')

6.templates文件夾下login.html的內容

{% load static %}<html lang='en'><head> <meta charset='UTF-8'> <title>Title</title> <script src='https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js'></script> <script src='https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.0.0/js/bootstrap.js'></script></head><body> <form action='/test/' method='post'> {% csrf_token %} <a href='http://www.b3g6.com/bcjs/17127.html#' rel='external nofollow' class='captcha'> <img src='http://www.b3g6.com/bcjs/{{ captcha.image_url }}' alt='點擊切換' > </a> <br> <input type='text' name='captcha' placeholder='驗證碼'> <br> <input value='{{ captcha.hashkey }}' name='hashkey' type='hidden' id='id_captcha_0'> <button type='submit' class='btn btn-primary btn-block '>提交</button> </form><script> <!-- 動態刷新驗證碼js --> $(document).ready(function(){ $(’.captcha’).click(function () {$.getJSON('/refresh_captcha/', function (result) { $(’#id_captcha’).attr(’src’, result[’image_url’]); $(’#id_captcha_0’).val(result[’hashkey’])}); }); });</script></body></html>

django-simple-captcha并沒有使用session對驗證碼進行存儲,而是使用了數據庫,當你在做數據庫遷移的時候會生成一個表 captcha_captchastore ,包含以下字段

challenge = models.CharField(blank=False, max_length=32) # 驗證碼大寫或者數學計算比如 1+1response = models.CharField(blank=False, max_length=32) # 需要輸入的驗證碼 驗證碼小寫或數學計算的結果 比如 2hashkey = models.CharField(blank=False, max_length=40, unique=True) # hash值expiration = models.DateTimeField(blank=False) # 到期時間

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩一区二区三区免费| 99国产精品| 国产偷自视频区视频一区二区| 99久久精品国产亚洲精品| 老牛国产精品一区的观看方式| 日本一二区不卡| 国产精品久久久久久久免费软件| 亚洲综合电影一区二区三区| 蜜臀va亚洲va欧美va天堂| 免费一级欧美片在线观看网站| 国产免费成人| 精品日韩视频| 精品女同一区二区三区在线观看| 日本久久二区| 日韩欧美精品一区二区综合视频| 中文字幕成在线观看| 精品亚洲精品| 久久亚洲资源中文字| 欧美国产另类| 日本а中文在线天堂| 精品精品国产三级a∨在线| 国产调教精品| 卡一卡二国产精品| 国产欧美88| 国产精品伦一区二区| 少妇高潮一区二区三区99| 亚洲在线免费| 婷婷亚洲成人| 久久爱www成人| 国产欧美自拍一区| 欧美日本三区| 日韩三区免费| 亚洲午夜精品久久久久久app| 国内一区二区三区| 中文在线а√天堂| 影视先锋久久| 一区二区91| 欧美日韩一区二区三区不卡视频 | 美女一区网站| 深夜福利视频一区二区| 久久视频精品| 亚洲一区二区三区四区五区午夜 | 激情久久久久久久| 五月婷婷亚洲| 午夜在线观看免费一区| 亚洲精品人人| 国产日韩亚洲欧美精品| 久久精品国内一区二区三区| 国产精品主播在线观看| 丁香婷婷久久| 久久久一二三| 蜜桃传媒麻豆第一区在线观看| 视频在线观看一区| 欧美日韩一区二区三区四区在线观看 | 亚洲精品国产精品粉嫩| 亚洲毛片在线免费| 精品久久影院| 久久福利精品| 91亚洲国产| 亚洲精品少妇| 一本大道色婷婷在线| 视频一区中文字幕| 精品日产乱码久久久久久仙踪林| 午夜视频精品| 精品欠久久久中文字幕加勒比| 免费日韩一区二区| 久久精品国产99| 日韩中文字幕亚洲一区二区va在线 | 免费观看不卡av| 国产欧美一区二区精品久久久| 亚洲不卡系列| 一区二区精品伦理...| 亚洲精品无吗| 悠悠资源网久久精品| 久久久久久黄| 久久婷婷丁香| a日韩av网址| 五月亚洲婷婷 | 日韩电影免费网站| 日韩高清成人在线| 国产激情一区| 久久av综合| 亚洲综合欧美| 激情国产在线| 欧美日韩一区二区三区四区在线观看| 国产在线成人| 国产一区2区| 欧美一区成人| 中文字幕av一区二区三区人| 偷拍精品精品一区二区三区| 日韩av网站在线观看| 日韩欧美三级| 欧美日韩xxxx| 亚洲日本国产| 好吊日精品视频| 福利片在线一区二区| 日韩在线麻豆| 日韩一区二区久久| 久久九九电影| 色乱码一区二区三区网站| 日韩和欧美一区二区| 亚洲激情黄色| 九色精品91| 91精品xxx在线观看| 精品亚洲成人| 日韩精品中文字幕一区二区| 欧美精品影院| 日本伊人午夜精品| 特黄特色欧美大片| 久久99精品久久久野外观看| 国产视频亚洲| 久久亚洲电影| 亚洲女人av| 欧美在线资源| 国精品一区二区三区| 亚洲视频综合| 好看的亚洲午夜视频在线| 免费视频一区二区三区在线观看 | 日韩精品一区二区三区中文 | 精品美女视频 | 欧美一级鲁丝片| 久久国产欧美| 国产福利一区二区三区在线播放| 精品国产乱码| 亚洲免费专区| 国产a久久精品一区二区三区| 热久久久久久久| 99视频一区| 欧美精品91| 国产精品片aa在线观看| 亚洲+小说+欧美+激情+另类| 日韩国产欧美在线播放| 男女男精品视频网| 婷婷精品久久久久久久久久不卡| 日韩中文字幕av电影| 日本不卡视频一二三区| 综合五月婷婷| 亚洲97av| 精品中文在线| 国语对白精品一区二区| 国产乱码精品一区二区亚洲| 日韩精品久久久久久久软件91| 日欧美一区二区| 中文字幕一区二区精品区| 自拍自偷一区二区三区| 亚洲伊人精品酒店| 日韩有码av| 国产免费av一区二区三区| 国产午夜一区| 鲁鲁在线中文| av在线日韩| 国产视频久久| 亚洲开心激情| 久久99免费视频| 久久精品国产网站| 久久97视频| 精品美女视频 | 国产综合视频| 综合干狼人综合首页| 一区二区精彩视频| 日韩一区二区三免费高清在线观看 | 国产精品网址| 久久婷婷激情| 久久在线免费| 日韩欧美美女在线观看| 人人精品久久| 黄色在线观看www| 亚洲精品第一| 欧美国产另类| 蜜臀久久久久久久| 深夜日韩欧美| 久久久噜噜噜| 在线一区二区三区视频| 免费在线看一区| 中文在线一区| 六月丁香综合在线视频| 免费一区二区三区在线视频| 亚洲视频国产精品| 丝袜诱惑制服诱惑色一区在线观看| 另类国产ts人妖高潮视频| 久久午夜精品| 欧美一级一区| 精品中文字幕一区二区三区四区| 麻豆久久久久久| 国产精品88久久久久久| 亚洲毛片在线| 欧美激情一区| 久久久久国产| 视频一区中文字幕| 日韩精品三级| 久久高清免费| 亚洲大全视频| 日韩在线电影| 成人福利一区 | 日韩精品久久理论片| 麻豆精品久久久| 亚洲在线一区| 欧美黄页在线免费观看| 久久久人人人| 亚洲精品无吗|