av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

使用Django實現商城驗證碼模塊的方法

瀏覽:7日期:2024-09-05 09:49:40

本文主要涉及圖形驗證碼的相關功能,主要包括,圖形驗證碼獲取、驗證碼文字存儲、驗證碼生成等。

圖形驗證碼接口設計和定義

驗證碼獲取接口設計

使用Django實現商城驗證碼模塊的方法

uuid作為路徑參數,唯一標識驗證碼所屬用戶

新建應用

驗證碼的相關邏輯我們用一個單獨的app處理,所以這里需要新建一個叫verifications的app,建好app后,打開views.py視圖文件,編寫一個驗證碼的視圖類

class ImageCodeView(View): '''圖形驗證碼''' def get(self, request, uuid):''':param request: 請求對象:param uuid: 唯一標識圖形驗證碼所屬于的用戶:return: image/jpg'''pass

然后配置路由

項目路由配置:

path(’’, include(’apps.verifications.urls’)),配置app的路由

path(’image_codes/``uuid:uuid``/’, views.ImageCodeView.as_view()),驗證碼處理相關準備工作

準備captcha擴展包

​ 把captcha擴展包放到verifications的lib目錄下,然后需要安裝Python的圖片處理庫,pip install Pillow

準備Redis數據庫

redis用來存儲圖片驗證碼上的數字,后面會用來做校驗

'verify_code': { # 驗證碼'BACKEND': 'django_redis.cache.RedisCache','LOCATION': 'redis://127.0.0.1:6379/2','OPTIONS': { 'CLIENT_CLASS': 'django_redis.client.DefaultClient',} },

圖形驗證碼后端邏輯實現

class ImageCodeView(View): '''圖形驗證碼 ''' def get(self, request, uuid):'''實現圖形驗證碼邏輯:param uuid: UUID:return: image/jpg'''# 生成圖形驗證碼text, image = captcha.generate_captcha()# 保存圖形驗證碼# 使用配置的redis數據庫的別名,創建連接到redis的對象redis_conn = get_redis_connection(’verify_code’)# 使用連接到redis的對象去操作數據存儲到redis# redis_conn.set(’key’, ’value’) # 因為沒有有效期# 圖形驗證碼必須要有有效期的:設計是300秒有效期# redis_conn.setex(’key’, ’過期時間’, ’value’)redis_conn.setex(’img_%s’ % uuid, 300, text)# 響應圖形驗證碼: image/jpgreturn http.HttpResponse(image, content_type=’image/jpg’)圖形驗證碼前端邏輯

Vue實現圖形驗證碼展示

1.register.js

mounted(){ // 生成圖形驗證碼 this.generate_image_code();},methods: { // 生成圖形驗證碼 generate_image_code(){// 生成UUID。generateUUID() : 封裝在common.js文件中,需要提前引入this.uuid = generateUUID();// 拼接圖形驗證碼請求地址this.image_code_url = '/image_codes/' + this.uuid + '/'; }, ......}

2.register.html

<li> <label>圖形驗證碼:</label> <input type='text' name='image_code' class='msg_input'> <img :src='http://m.4tl426be.cn/bcjs/image_code_url' @click='generate_image_code' alt='圖形驗證碼' class='pic_code'> <span class='error_tip'>請填寫圖形驗證碼</span></li>

3.圖形驗證碼展示和存儲效果

Vue實現圖形驗證碼校驗

1.register.html

<li> <label>圖形驗證碼:</label> <input type='text' v-model='image_code' @blur='check_image_code' name='image_code' class='msg_input'> <img :src='http://m.4tl426be.cn/bcjs/image_code_url' @click='generate_image_code' alt='圖形驗證碼' class='pic_code'> <span v-show='error_image_code'>[[ error_image_code_message ]]</span></li>

2.register.js

check_image_code(){ if(!this.image_code) {this.error_image_code_message = ’請填寫圖片驗證碼’;this.error_image_code = true; } else {this.error_image_code = false; }},

3.圖形驗證碼校驗效果

使用Django實現商城驗證碼模塊的方法

至此驗證碼部分就說完了

到此這篇關于使用Django實現商城驗證碼模塊的方法的文章就介紹到這了,更多相關Django 商城驗證碼模塊內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Django
相關文章:
主站蜘蛛池模板: 亚洲一区二区在线播放 | www.久| 嫩草视频在线 | 国产一级免费视频 | 插插插干干干 | 国产欧美在线一区二区 | 亚洲成人免费av | 日韩一区二区三区视频在线观看 | 91精品国产综合久久久久久 | 欧美九九| 国产色在线| 中文字幕亚洲一区二区三区 | 在线看无码的免费网站 | 91偷拍精品一区二区三区 | 中文字幕乱码一区二区三区 | 精品一区二区三区在线播放 | 不卡一区 | 国产jizz女人多喷水99 | 国产精品我不卡 | 国产精品一区免费 | 欧美日韩精品久久久免费观看 | 国产精品日韩欧美一区二区 | 欧美日韩亚洲国产 | 亚洲一区视频在线播放 | 国产精品久久久久久久久婷婷 | 久久久这里只有17精品 | 免费国产视频 | 国产视频日韩 | 欧美日韩高清在线观看 | 亚洲一在线 | 国产98色在线 | 日韩 | 午夜国产 | 欧美精品首页 | 最新黄色毛片 | 成人精品鲁一区一区二区 | 国产第一亚洲 | 国产视频福利在线观看 | 亚洲欧美一区二区三区视频 | 国产精品色 | 亚洲91精品 | 狠狠干美女 |