亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Django實現(xiàn)商城驗證碼模塊的方法

 更新時間:2021年06月01日 09:25:24   作者:測試軒  
本文主要涉及圖形驗證碼的相關(guān)功能,主要包括,圖形驗證碼獲取、驗證碼文字存儲、驗證碼生成等。需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

圖形驗證碼接口設(shè)計和定義

 驗證碼獲取接口設(shè)計

img

uuid作為路徑參數(shù),唯一標(biāo)識驗證碼所屬用戶

新建應(yīng)用

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

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

然后配置路由

項目路由配置:

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

path('image_codes/``uuid:uuid``/', views.ImageCodeView.as_view()),

驗證碼處理相關(guān)準(zhǔn)備工作

準(zhǔn)備captcha擴展包

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

準(zhǔn)備Redis數(shù)據(jù)庫

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

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

圖形驗證碼后端邏輯實現(xiàn)

class ImageCodeView(View):
    """圖形驗證碼
    """

    def get(self, request, uuid):
        """
        實現(xiàn)圖形驗證碼邏輯
        :param uuid: UUID
        :return: image/jpg
        """
        # 生成圖形驗證碼
        text, image = captcha.generate_captcha()

        # 保存圖形驗證碼
        # 使用配置的redis數(shù)據(jù)庫的別名,創(chuàng)建連接到redis的對象
        redis_conn = get_redis_connection('verify_code')
        # 使用連接到redis的對象去操作數(shù)據(jù)存儲到redis
        # redis_conn.set('key', 'value') # 因為沒有有效期
        # 圖形驗證碼必須要有有效期的:設(shè)計是300秒有效期
        # redis_conn.setex('key', '過期時間', 'value')
        redis_conn.setex('img_%s' % uuid, 300, text)

        # 響應(yīng)圖形驗證碼: image/jpg
        return http.HttpResponse(image, content_type='image/jpg')

圖形驗證碼前端邏輯

Vue實現(xiàn)圖形驗證碼展示

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" id="pic_code" class="msg_input">
    <img :src="image_code_url" @click="generate_image_code" alt="圖形驗證碼" class="pic_code">
    <span class="error_tip">請?zhí)顚憟D形驗證碼</span>
</li>

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

Vue實現(xiàn)圖形驗證碼校驗

1.register.html

<li>
    <label>圖形驗證碼:</label>
    <input type="text" v-model="image_code" @blur="check_image_code" name="image_code" id="pic_code" class="msg_input">
    <img :src="image_code_url" @click="generate_image_code" alt="圖形驗證碼" class="pic_code">
    <span class="error_tip" 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 = '請?zhí)顚憟D片驗證碼';
        this.error_image_code = true;
    } else {
        this.error_image_code = false;
    }
},

3.圖形驗證碼校驗效果

img

至此驗證碼部分就說完了

到此這篇關(guān)于使用Django實現(xiàn)商城驗證碼模塊的方法的文章就介紹到這了,更多相關(guān)Django 商城驗證碼模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python基于similarities實現(xiàn)文本語義相似度計算和文本匹配搜索

    Python基于similarities實現(xiàn)文本語義相似度計算和文本匹配搜索

    similarities?實現(xiàn)了多種相似度計算、匹配搜索算法,支持文本、圖像,python3開發(fā),下面我們就來看看如何使用similarities實現(xiàn)文本語義相似度計算和文本匹配搜索吧
    2024-03-03
  • python算法練習(xí)之抓交通肇事犯

    python算法練習(xí)之抓交通肇事犯

    這篇文章主要該大家分享python算法抓交通肇事犯得練習(xí),文章主要通過描述抓交通肇事犯得問題然后確定程序框架將結(jié)果運算出來,下面來看詳細內(nèi)容吧,需要的朋友可以參考一下喲
    2021-10-10
  • 探索Python數(shù)據(jù)可視化庫中Plotly Express的使用方法

    探索Python數(shù)據(jù)可視化庫中Plotly Express的使用方法

    在數(shù)據(jù)分析和可視化領(lǐng)域,數(shù)據(jù)的有效呈現(xiàn)是至關(guān)重要的,python作為一種強大的編程語言,提供了多種數(shù)據(jù)可視化工具和庫,本文將介紹Plotly Express的基本概念和使用方法,幫助讀者快速入門并掌握數(shù)據(jù)可視化的技巧
    2023-06-06
  • Python import與from import使用和區(qū)別解讀

    Python import與from import使用和區(qū)別解讀

    Python程序可以調(diào)用一組基本的函數(shù)(即內(nèi)建函數(shù)),比如print()、input()和len()等函數(shù)。接下來通過本文給大家介紹Python import與from import使用及區(qū)別介紹,感興趣的朋友一起看看吧
    2021-09-09
  • Pycharm之如何安裝cv2 [python3.6]

    Pycharm之如何安裝cv2 [python3.6]

    這篇文章主要介紹了Pycharm之如何安裝cv2 [python3.6]問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 基于Python實現(xiàn)繪制簡單動圖的示例詳解

    基于Python實現(xiàn)繪制簡單動圖的示例詳解

    動畫是一種高效的可視化工具,能夠提升用戶的吸引力和視覺體驗,有助于以富有意義的方式呈現(xiàn)數(shù)據(jù)可視化,本文的主要介紹在Python中兩種簡單制作動圖的方法,需要的可以了解下
    2023-10-10
  • python密碼學(xué)Base64編碼和解碼教程

    python密碼學(xué)Base64編碼和解碼教程

    這篇文章主要為大家介紹了python密碼學(xué)Base64編碼和解碼教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python函數(shù)基本使用原理詳解

    Python函數(shù)基本使用原理詳解

    這篇文章主要介紹了Python函數(shù)基本使用原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • python Jupyter運行時間實例過程解析

    python Jupyter運行時間實例過程解析

    這篇文章主要介紹了python Jupyter運行時間實例過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • python讀取和保存視頻文件

    python讀取和保存視頻文件

    這篇文章主要為大家詳細介紹了python讀取顯示和保存視頻文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評論