国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Django框架登錄加上驗證碼校驗實現驗證功能示例

Django框架登錄加上驗證碼校驗實現驗證功能示例

2021-06-29 00:02SpecYue Python

這篇文章主要介紹了Django框架登錄加上驗證碼校驗實現驗證功能,結合實例形式分析了Django框架基于Pillow模塊的圖形驗證碼生成與使用相關操作技巧,需要的朋友可以參考下

本文實例講述了django框架登錄加上驗證碼校驗實現驗證功能。分享給大家供大家參考,具體如下:

驗證碼生成函數

?
1
pip install pillow
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# /verify_code
def verif_ycode(request):
  #引入繪圖模塊
  from pil import image, imagedraw, imagefont
  #引入隨機函數模塊
  import random
  #定義變量,用于畫面的背景色、寬、高
  bgcolor = (random.randrange(20, 100), random.randrange(
    20, 100), random.randrange(20, 100))
  width = 100
  height = 50
  #創建畫面對象
  im = image.new('rgb', (width, height), bgcolor)
  #創建畫筆對象
  draw = imagedraw.draw(im)
  #調用畫筆的point()函數繪制噪點
  for i in range(0, 100):
    xy = (random.randrange(0, width), random.randrange(0, height))
    fill = (random.randrange(0, 255), 255, random.randrange(0, 255))
    draw.point(xy, fill=fill)
  #定義驗證碼的備選值
  str = '1234567890qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm'
  #隨機選取4個值作為驗證碼
  rand_str = ''
  for i in range(0, 4):
    rand_str += str[random.randrange(0, len(str))]
  #構造字體對象
  # font = imagefont.truetype('楷體', 40)
  #構造字體顏色
  fontcolor1 = (255, random.randrange(0, 255), random.randrange(0, 255))
  fontcolor2 = (255, random.randrange(0, 255), random.randrange(0, 255))
  fontcolor3 = (255, random.randrange(0, 255), random.randrange(0, 255))
  fontcolor4 = (255, random.randrange(0, 255), random.randrange(0, 255))
  #繪制4個字
  draw.text((5, 2), rand_str[0], fill=fontcolor1)
  draw.text((25, 2), rand_str[1], fill=fontcolor2)
  draw.text((50, 2), rand_str[2], fill=fontcolor3)
  draw.text((75, 2), rand_str[3], fill=fontcolor4)
  #釋放畫筆
  del draw
  # 存入session,用于做進一步驗證
  request.session['verifycode'] = rand_str
  #內存文件操作
  import io
  buf = io.bytesio()
  #將圖片保存在內存中,文件類型為png
  im.save(buf, 'png')
  #將內存中的圖片數據返回給客戶端,mime類型為圖片png
  return httpresponse(buf.getvalue(), 'image/png')

login.html

html文件加上<img src="/verify_code" python" id="highlighter_756147">

?
1
2
3
# 獲取驗證碼
vcode1 = request.post.get('vcode')# 用戶輸入的驗證碼
vcode2 = request.session.get('verifycode')# 獲取session中保存的驗證碼

判斷是否一樣,不一樣的話就redirct('/login')跳轉到登錄頁面

?
1
2
3
if vcode1 != vcode2:
  return redirect('/login')
else:

否則向下運行

希望本文所述對大家基于django框架的python程序設計有所幫助。

原文鏈接:https://blog.csdn.net/qq_34788903/article/details/87945879

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 美女视频一区二区三区 | 国产精品免费在线 | 国产免费高清 | 国产精品久久久 | 色综合天天综合网国产成人网 | 另类国产ts人妖高潮系列视频 | www.一区二区 | 中文字幕一区二区三区四区不卡 | 一级片黄色大片 | 成人精品视频免费 | 国产精品美女久久久久aⅴ国产馆 | 男女视频网站 | 成人久久久久久 | 国产一区二区三区在线免费观看 | 91大神免费观看 | 伊人网站| 在线免费av观看 | 久久久国产99久久国产一 | 成人免费xxxxx在线观看 | 国产特级毛片aaaaaa毛片 | 午夜视频在线免费观看 | 国产在线中文字幕 | 51ⅴ精品国产91久久久久久 | 亚洲欧美激情视频 | 黄色免费在线观看 | 亚洲福利 | 成人免费色 | 亚洲成人一区 | 88av网站 | 成人天堂666 | 国产欧美在线观看 | 色吊丝在线永久观看最新版本 | 精品国产91乱码一区二区三区 | 黑人中文字幕一区二区三区 | 国产一区中文字幕 | 国产亚洲精品精品国产亚洲综合 | 日韩精品小视频 | 山岸逢花在线观看 | 欧美精品自拍 | 激情国产精品 | 亚洲一区久久 |