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文件下注冊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: 圖片的對象 """ captcha_str, image_64 = Captcha_Get().get_captcha_image() #request.session['captcha_str'] = captcha_str #將驗(yàn)證碼內(nèi)容放入session以便于后邊判斷,但必須遷移數(shù)據(jù)庫,否則報(bào)錯 #image = 'data:image/png;base64,'+image_64 resp = HttpResponse(image_64, content_type='image/png') return resp
讓我測試一下驗(yàn)證碼接口是否正確:運(yùn)行django項(xiàng)目,然后在網(wǎng)頁上輸入127.0.0.1:8000/app/auth_code_port

這樣就好了,在前端模板中就可以直接調(diào)用接口。
總結(jié)
以上所述是小編給大家介紹的django中的圖片驗(yàn)證碼功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
- 詳解Django自定義圖片和文件上傳路徑(upload_to)的2種方式
- Django實(shí)現(xiàn)前臺上傳并顯示圖片功能
- Django實(shí)現(xiàn)后臺上傳并顯示圖片功能
- Django實(shí)現(xiàn)圖片上傳功能步驟解析
- Django {{ MEDIA_URL }}無法顯示圖片的解決方式
- Django 實(shí)現(xiàn)將圖片轉(zhuǎn)為Base64,然后使用json傳輸
- django 讀取圖片到頁面實(shí)例
- django項(xiàng)目登錄中使用圖片驗(yàn)證碼的實(shí)現(xiàn)方法
- Django 實(shí)現(xiàn)前端圖片壓縮功能的方法
- Django 實(shí)現(xiàn)圖片上傳和下載功能
相關(guān)文章
Python中列表,元組,字典和集合的區(qū)別及它們之間的轉(zhuǎn)換
這篇文章主要介紹了Python中列表,元組,字典和集合的區(qū)別及它們之間的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
使用Python創(chuàng)建LNK文件選擇器并導(dǎo)出配置文件
在這篇博客中,我將介紹如何使用Python的wxPython庫開發(fā)一個(gè)GUI應(yīng)用程序,該應(yīng)用程序可以選擇文件夾中的.lnk(快捷方式)文件,并將選中的文件導(dǎo)出為特定格式的buttons.ini配置文件,需要的朋友可以參考下2025-01-01
手把手教你搭建python+selenium自動化環(huán)境(圖文)
本文主要介紹了手把手教你搭建python+selenium自動化環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06

