欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

【Python】驗證碼

系統 1671 0

我們都知道驗證碼是一張圖片,這樣程序自動識別的難度大,安全性高。

設計到圖片,先來看一下img標簽里的src屬性,也是實現驗證碼的一個小原理

我們都知道src屬性可以直接把圖片拿過來:
比如說拿到本地的圖片 就在直接可以顯示在頁面上

那它是怎么實現的呢?

其實src屬性同樣像服務端發送了一個請求,Django服務端接收到之后,自動把本地文件讀取并返回給了客戶端,就實現了上面的效果

下面來自己實現一下:
html: #src屬性是一個url,
對應處理函數:

            
              
                def
              
              
                tu2
              
              
                (
              
              request
              
                )
              
              
                :
              
              
    f
              
                =
              
              
                open
              
              
                (
              
              
                "static/timg.jpg"
              
              
                ,
              
              
                "rb"
              
              
                )
              
              
    data
              
                =
              
              f
              
                .
              
              read
              
                (
              
              
                )
              
              
    f
              
                .
              
              close
              
                (
              
              
                )
              
              
                return
              
               HttpResponse
              
                (
              
              data
              
                )
              
            
          

如此就能發現兩者效果相同。

下面開始講驗證碼:
先貼上借鑒的博客,內含需要的文件:
https://blog.csdn.net/weixin_42100915/article/details/80851474

先生成驗證碼效果:
后臺處理函數:

            
              
                def
              
              
                yanzhengma
              
              
                (
              
              request
              
                )
              
              
                :
              
              
    f
              
                =
              
               BytesIO
              
                (
              
              
                )
              
              
                #創建生成一個內存地址
              
              
    img
              
                ,
              
               code
              
                =
              
              create_validate_code
              
                (
              
              
                )
              
              
                #生成驗證碼, code是驗證碼文字內容,img是驗證碼對象
              
              
                print
              
              
                (
              
              code
              
                )
              
              
    img
              
                .
              
              save
              
                (
              
              f
              
                ,
              
              
                "PNG"
              
              
                )
              
              
                #把驗證碼寫入內存地址
              
              
                return
              
               HttpResponse
              
                (
              
              f
              
                .
              
              getvalue
              
                (
              
              
                )
              
              
                )
              
              
                #把驗證碼從內存中讀出來并返回給客戶端
              
              
                def
              
              
                register
              
              
                (
              
              request
              
                )
              
              
                :
              
              
                return
              
               render
              
                (
              
              request
              
                ,
              
              
                "register.html"
              
              
                )
              
            
          

HTML

            
              
                
                  
                    <
                  
                  body
                
                
                  >
                
              
              
                
                  
                    <
                  
                  form
                
                
                  action
                
                
                  
                    =
                  
                  
                    "
                  
                  
                    "
                  
                
                
                  >
                
              
              
                
                  
                    form
                  
                  
                    >
                  
                
                
                  
                    
                      <
                    
                    p
                  
                  
                    >
                  
                
                用戶名
                
                  
                    
                      <
                    
                    input
                  
                  
                    type
                  
                  
                    
                      =
                    
                    
                      "
                    
                    text
                    
                      "
                    
                  
                  
                    placeholder
                  
                  
                    
                      =
                    
                    
                      "
                    
                    請輸入用戶名
                    
                      "
                    
                  
                  
                    >
                  
                
                
                  
                    
                      p
                    
                    
                      >
                    
                  
                  
                    
                      
                        <
                      
                      p
                    
                    
                      >
                    
                  
                  密碼              
                  
                    
                      
                        <
                      
                      input
                    
                    
                      type
                    
                    
                      
                        =
                      
                      
                        "
                      
                      text
                      
                        "
                      
                    
                    
                      placeholder
                    
                    
                      
                        =
                      
                      
                        "
                      
                      請輸入密碼
                      
                        "
                      
                    
                    
                      >
                    
                  
                  
                    
                      
                        p
                      
                      
                        >
                      
                    
                    
                      
                        
                          <
                        
                        p
                      
                      
                        >
                      
                    
                    確認密碼
                    
                      
                        
                          <
                        
                        input
                      
                      
                        type
                      
                      
                        
                          =
                        
                        
                          "
                        
                        text
                        
                          "
                        
                      
                      
                        placeholder
                      
                      
                        
                          =
                        
                        
                          "
                        
                        請確認密碼
                        
                          "
                        
                      
                      
                        >
                      
                    
                    
                      
                        
                          p
                        
                        
                          >
                        
                      
                      
                        
                          
                            <
                          
                          p
                        
                        
                          >
                        
                      
                      驗證碼
                      
                        
                          
                            <
                          
                          input
                        
                        
                          type
                        
                        
                          
                            =
                          
                          
                            "
                          
                          text
                          
                            "
                          
                        
                        
                          placeholder
                        
                        
                          
                            =
                          
                          
                            "
                          
                          請輸入驗證碼
                          
                            "
                          
                        
                        
                          >
                        
                      
                      
                        
                          
                            <
                          
                          img
                        
                        
                          src
                        
                        
                          
                            =
                          
                          
                            "
                          
                          /yanzhengma
                          
                            "
                          
                        
                        
                          alt
                        
                        
                          
                            =
                          
                          
                            "
                          
                          
                            "
                          
                        
                        
                          >
                        
                      
                      
                        
                          
                            p
                          
                          
                            >
                          
                        
                        
                          
                            
                              body
                            
                            
                              >
                            
                          
                        
                      
                    
                  
                
              
            
          

下面上完整代碼:帶驗證功能和點擊刷新功能

處理函數:

            
              
                def
              
              
                yanzhengma
              
              
                (
              
              request
              
                )
              
              
                :
              
              
                '''生成驗證碼'''
              
              
    f
              
                =
              
               BytesIO
              
                (
              
              
                )
              
              
                #創建生成一個內存地址
              
              
    img
              
                ,
              
               code
              
                =
              
              create_validate_code
              
                (
              
              
                )
              
              
                #生成驗證碼, code是驗證碼文字內容,img是驗證碼對象
              
              
                print
              
              
                (
              
              code
              
                )
              
              
    img
              
                .
              
              save
              
                (
              
              f
              
                ,
              
              
                "PNG"
              
              
                )
              
              
                #把驗證碼寫入內存地址
              
              
    request
              
                .
              
              session
              
                [
              
              
                "check_code"
              
              
                ]
              
              
                =
              
              code   
              
                #對應驗證用的
              
              
                return
              
               HttpResponse
              
                (
              
              f
              
                .
              
              getvalue
              
                (
              
              
                )
              
              
                )
              
              
                #把驗證碼從內存中讀出來并返回給客戶端
              
              
                def
              
              
                register
              
              
                (
              
              request
              
                )
              
              
                :
              
              
                """業務函數"""
              
              
                if
              
               request
              
                .
              
              method 
              
                ==
              
              
                "GET"
              
              
                :
              
              
                return
              
               render
              
                (
              
              request
              
                ,
              
              
                "register.html"
              
              
                )
              
              
                else
              
              
                :
              
              
        check
              
                =
              
              request
              
                .
              
              POST
              
                .
              
              get
              
                (
              
              
                "check"
              
              
                ,
              
              
                None
              
              
                )
              
              
        check_code
              
                =
              
              request
              
                .
              
              session
              
                [
              
              
                "check_code"
              
              
                ]
              
              
                if
              
               check
              
                ==
              
              check_code
              
                :
              
              
                return
              
               HttpResponse
              
                (
              
              
                "注冊成功"
              
              
                )
              
            
          

HTML

            
              
              
              
                
                  
                    <
                  
                  html
                
                
                  lang
                
                
                  
                    =
                  
                  
                    "
                  
                  en
                  
                    "
                  
                
                
                  >
                
              
              
                
                  
                    <
                  
                  head
                
                
                  >
                
              
              
                
                  
                    <
                  
                  meta
                
                
                  charset
                
                
                  
                    =
                  
                  
                    "
                  
                  UTF-8
                  
                    "
                  
                
                
                  >
                
              
              
                
                  
                    <
                  
                  title
                
                
                  >
                
              
              Title
              
                
                  
                    title
                  
                  
                    >
                  
                
                
                  
                    
                      head
                    
                    
                      >
                    
                  
                  
                    
                      
                        <
                      
                      body
                    
                    
                      >
                    
                  
                  
                    
                      
                        <
                      
                      form
                    
                    
                      action
                    
                    
                      
                        =
                      
                      
                        "
                      
                      /register/
                      
                        "
                      
                    
                    
                      method
                    
                    
                      
                        =
                      
                      
                        "
                      
                      post
                      
                        "
                      
                    
                    
                      >
                    
                  
                  
    {% csrf_token %}

                  
                    
                      
                        <
                      
                      p
                    
                    
                      >
                    
                  
                  用戶名
                  
                    
                      
                        <
                      
                      input
                    
                    
                      type
                    
                    
                      
                        =
                      
                      
                        "
                      
                      text
                      
                        "
                      
                    
                    
                      placeholder
                    
                    
                      
                        =
                      
                      
                        "
                      
                      請輸入用戶名
                      
                        "
                      
                    
                    
                      >
                    
                  
                  
                    
                      
                        p
                      
                      
                        >
                      
                    
                    
                      
                        
                          <
                        
                        p
                      
                      
                        >
                      
                    
                    密碼
                    
                      
                        
                          <
                        
                        input
                      
                      
                        type
                      
                      
                        
                          =
                        
                        
                          "
                        
                        text
                        
                          "
                        
                      
                      
                        placeholder
                      
                      
                        
                          =
                        
                        
                          "
                        
                        請輸入密碼
                        
                          "
                        
                      
                      
                        >
                      
                    
                    
                      
                        
                          p
                        
                        
                          >
                        
                      
                      
                        
                          
                            <
                          
                          p
                        
                        
                          >
                        
                      
                      確認密碼
                      
                        
                          
                            <
                          
                          input
                        
                        
                          type
                        
                        
                          
                            =
                          
                          
                            "
                          
                          text
                          
                            "
                          
                        
                        
                          placeholder
                        
                        
                          
                            =
                          
                          
                            "
                          
                          請確認密碼
                          
                            "
                          
                        
                        
                          >
                        
                      
                      
                        
                          
                            p
                          
                          
                            >
                          
                        
                        
                          
                            
                              <
                            
                            p
                          
                          
                            >
                          
                        
                        驗證碼
                        
                          
                            
                              <
                            
                            input
                          
                          
                            type
                          
                          
                            
                              =
                            
                            
                              "
                            
                            text
                            
                              "
                            
                          
                          
                            placeholder
                          
                          
                            
                              =
                            
                            
                              "
                            
                            請輸入驗證碼
                            
                              "
                            
                          
                          
                            name
                          
                          
                            
                              =
                            
                            
                              "
                            
                            check
                            
                              "
                            
                          
                          
                            >
                          
                        
                        
                          
                            
                              <
                            
                            img
                          
                          
                            src
                          
                          
                            
                              =
                            
                            
                              "
                            
                            /yanzhengma/
                            
                              "
                            
                          
                          
                            alt
                          
                          
                            
                              =
                            
                            
                              "
                            
                            
                              "
                            
                          
                          
                            id
                          
                          
                            
                              =
                            
                            
                              "
                            
                            check
                            
                              "
                            
                          
                          
                            >
                          
                        
                        
                          
                            
                              p
                            
                            
                              >
                            
                          
                          
                            
                              
                                <
                              
                              input
                            
                            
                              type
                            
                            
                              
                                =
                              
                              
                                "
                              
                              submit
                              
                                "
                              
                            
                            
                              value
                            
                            
                              
                                =
                              
                              
                                "
                              
                              注冊
                              
                                "
                              
                            
                            
                              >
                            
                          
                          
                            
                              
                                form
                              
                              
                                >
                              
                            
                            
                              
                                
                                  <
                                
                                script
                              
                              
                                >
                              
                            
                            
                              
    document
                              
                                .
                              
                              
                                getElementById
                              
                              
                                (
                              
                              
                                "check"
                              
                              
                                )
                              
                              
                                .
                              
                              
                                onclick
                              
                              
                                =
                              
                              
                                function
                              
                              
                                (
                              
                              
                                )
                              
                              
                                {
                              
                              
                                this
                              
                              
                                .
                              
                              src
                              
                                =
                              
                              
                                this
                              
                              
                                .
                              
                              src
                              
                                +
                              
                              
                                "?"
                              
                              
                                //點一次就加一個問號,會重新發送一次請求
                              
                              
                                }
                              
                            
                            
                              
                                
                                  script
                                
                                
                                  >
                                
                              
                              
                                
                                  
                                    body
                                  
                                  
                                    >
                                  
                                
                                
                                  
                                    
                                      html
                                    
                                    
                                      >
                                    
                                  
                                
                              
                            
                          
                        
                      
                    
                  
                
              
            
          

效果圖:
【Python】驗證碼_第1張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色撸网 | 555夜色666夜色精品站 | 久久久久在线 | 国产亚洲精品国产 | 成人 在线 | 在线精品亚洲欧美日韩国产 | 欧美在线黄 | 国产成人精品一区二区仙踪林 | 91久久久久久久久 | 波多野一区二区 | www.伊人.com | 亚洲精品国产综合一线久久 | 亚洲色图国产 | 亚洲免费精品视频 | 看一级毛片国产一级毛片 | 香港午夜三级a三级高清观看 | 精品中文字幕一区二区 | 91看片网| 激情五月色播 | 成人精品视频一区二区三区尤物 | 精品国产综合 | 国产一区欧美 | 免费高清欧美一区二区视频 | 日韩中文字幕在线有码视频网 | 97在线碰碰观看免费高清 | 日本三级欧美三级 | 高清不卡一区二区 | 久久综合久色欧美综合狠狠 | 成人久久精品一区二区三区 | 国产成人无码网站m3u8 | 欧美一区高清 | 酒色婷婷 | 国产精品成人无码A片免费网址 | 色网站视频 | 午夜影视在线观看免费完整高清大全 | 看黄网站在线看 | 青草娱乐极品免费视频 | 男人与女人做爰毛片A片 | 精品一区二区三区免费看 | 国产乱码精品一区二区三上 | 美女性视频网站 |