1. 程式人生 > 其它 >使用程式碼庫captcha去生成隨機驗證碼圖片

使用程式碼庫captcha去生成隨機驗證碼圖片

1.首先在專案目錄下建立驗證碼app

建立好一定記得要在settings檔案中註冊,並且格外注意別忘記末尾加逗號,否則直接報錯

2.在應用app裡面建立二級路由檔案urls

from django.urls import path
from apps.verifycode.views import ImgCode

urlpatterns =[
    path('image_codes/<uuid>/',ImgCode.as_view()),
]

3.在專案一級路由檔案中加入二級路由

path('',include('apps.verifycode.urls'))

4.在驗證碼app中views檔案中實現ImgCode類用於請求時生成圖片驗證碼

class ImgCode(View):

    def get(self,request,uuid):

        from libs.captcha.captcha import captcha
        # text是驗證碼文字 img是驗證碼圖片
        text,img = captcha.generate_captcha()

        # 用redis將圖片驗證碼儲存
        from django_redis import get_redis_connection
        redis_cli = get_redis_connection('
code') # name,time,value 名字,過期時間,值 redis_cli.setex(uuid,100,text) # 返回圖片驗證碼 # content_type 是響應體 需要告訴它是圖片 image/jpeg return HttpResponse(img,content_type='image/jpeg')

5.上一步引入captcha的操作還需要安裝工具包的支援內庫

pip install pillow

6.這樣通過get請求攜帶uuid去訪問就能獲取到一張隨機的二維碼圖片,其中二維碼圖片給前端頁面,

uuid作為鍵,二維碼的值作為值,被儲存到redis資料庫裡。