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

django中的圖片驗(yàn)證碼功能

 更新時(shí)間:2019年09月18日 15:51:09   作者:↘妳是我の半途ёг廢√  
這篇文章主要介紹了django中的圖片驗(yàn)證碼功能,需要的朋友可以參考下

python的驗(yàn)證碼庫(captcha)

將驗(yàn)證碼做成這樣:

在這里插入圖片描述

是不是和各大網(wǎng)頁的圖片源地址是一樣,話不多說,讓我們看代碼:

我是用django和python中的captcha庫做成 的

創(chuàng)建一個(gè)captcha_image.py:    

from captcha.image import ImageCaptcha
import random
class Captcha_Get():
  def __init__(self,
         CHAR_SET = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
         CAPTCHA_LEN = 4):
    self.CHAR_SET = CHAR_SET
    self.CAPTCHA_LEN = CAPTCHA_LEN
  def get_captcha(self):
    captcha_list = []
    for i in range(self.CAPTCHA_LEN):
      random_choice = random.choice(self.CHAR_SET)
      captcha_list.append(random_choice)
    return captcha_list
  def get_captcha_image(self):
    image = ImageCaptcha()
    captcha_list = self.get_captcha()#返回一個(gè)列表
    captcha_str = ''.join(captcha_list)#將列表的所有內(nèi)容整合成一個(gè)字符串
    captcha_image = image.generate(captcha_str)
    #captcha_image返回<_io.BytesIO object at 0x000001C8758C8728>,它是一個(gè)<class '_io.BytesIO'>
    return captcha_str,captcha_image#因?yàn)橐蚫jango登陸相結(jié)合所以驗(yàn)證碼的內(nèi)容也要返回

然后,創(chuàng)建django項(xiàng)目

python-admin startproject mysite

創(chuàng)建app

python manage.py startapp app

在setting文件下注冊(cè)app,寫好urls,將captcha_image文件放入app目錄下

views.py:

from django.http import JsonResponse,HttpResponse
from .captcha_image import *
def auth_code_port(request):
  """
  生成驗(yàn)證碼的接口
  :param request:
  :return: 圖片的對(duì)象
  """
  captcha_str, image_64 = Captcha_Get().get_captcha_image()
  #request.session['captcha_str'] = captcha_str #將驗(yàn)證碼內(nèi)容放入session以便于后邊判斷,但必須遷移數(shù)據(jù)庫,否則報(bào)錯(cuò)
  #image = 'data:image/png;base64,'+image_64
  resp = HttpResponse(image_64, content_type='image/png')
  return resp

讓我測(cè)試一下驗(yàn)證碼接口是否正確:運(yùn)行django項(xiàng)目,然后在網(wǎng)頁上輸入127.0.0.1:8000/app/auth_code_port

在這里插入圖片描述

這樣就好了,在前端模板中就可以直接調(diào)用接口。

總結(jié)

以上所述是小編給大家介紹的django中的圖片驗(yàn)證碼功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • 告別網(wǎng)頁搜索!教你用python實(shí)現(xiàn)一款屬于自己的翻譯詞典軟件

    告別網(wǎng)頁搜索!教你用python實(shí)現(xiàn)一款屬于自己的翻譯詞典軟件

    教你用python做一款屬于自己的翻譯詞典軟件,從此告別網(wǎng)頁搜索,文中有非常詳細(xì)的代碼示例,小伙伴們快快行動(dòng)吧,需要的朋友可以參考下
    2021-06-06
  • Python中pyCirclize包的使用教程詳解

    Python中pyCirclize包的使用教程詳解

    pyCirclize 是一個(gè) Python 包,用于繪制環(huán)形圖,這篇文章將將提供更豐富的示例代碼,以更全面地展示 pyCirclize 包的功能和用法,感興趣的小伙伴可以了解一下
    2023-11-11
  • 詳解python:time模塊用法

    詳解python:time模塊用法

    這篇文章主要介紹了python:time模塊用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 理解python正則表達(dá)式

    理解python正則表達(dá)式

    這篇文章主要介紹了python正則表達(dá)式,在python中,對(duì)正則表達(dá)式的支持是通過re模塊來支持的,想要了解python正則表達(dá)式的朋友可以參考一下
    2016-01-01
  • Python實(shí)現(xiàn)的對(duì)本地host127.0.0.1主機(jī)進(jìn)行掃描端口功能示例

    Python實(shí)現(xiàn)的對(duì)本地host127.0.0.1主機(jī)進(jìn)行掃描端口功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的對(duì)本地host127.0.0.1主機(jī)進(jìn)行掃描端口功能,可實(shí)現(xiàn)掃描本機(jī)開放端口的功能,涉及Python socket模塊與Thread多線程模塊相關(guān)使用技巧,需要的朋友可以參考下
    2019-02-02
  • jupyter notebook 重裝教程

    jupyter notebook 重裝教程

    這篇文章主要介紹了jupyter notebook 重裝教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • pytorch和tensorflow計(jì)算Flops和params的詳細(xì)過程

    pytorch和tensorflow計(jì)算Flops和params的詳細(xì)過程

    這篇文章主要介紹了pytorch和tensorflow計(jì)算Flops和params,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Python學(xué)習(xí)筆記之Python的下載、腳本與交互模式、注釋

    Python學(xué)習(xí)筆記之Python的下載、腳本與交互模式、注釋

    這篇文章主要介紹了Python學(xué)習(xí)筆記之Python的下載、腳本與交互模式、注釋,本文從基礎(chǔ)開始學(xué)習(xí)Python,需要的朋友可以參考下
    2023-03-03
  • 使用Fabric自動(dòng)化部署Django項(xiàng)目的實(shí)現(xiàn)

    使用Fabric自動(dòng)化部署Django項(xiàng)目的實(shí)現(xiàn)

    這篇文章主要介紹了使用Fabric自動(dòng)化部署Django項(xiàng)目的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • python中print格式化輸出的問題

    python中print格式化輸出的問題

    所謂格式化輸出,就是創(chuàng)建一個(gè)可以嵌入變量?jī)?nèi)容的字符串。這篇文章主要介紹了python中print格式化輸出,需要的朋友可以參考下
    2021-04-04

最新評(píng)論