如何在 Django 網站中新增驗證碼?
驗證碼是現代網站驗證的一種常用方法;它非常酷,幾乎每個網站都在使用它。您可以使用 Google 驗證碼,但應用起來確實很麻煩;然而,在 Django 中,我們有更簡單的方法。
在這篇文章中,我們將學習如何在 Django 網站中建立驗證碼。讓我們開始吧。
示例
首先,建立一個 Django 專案和一個應用。
現在安裝 **django-simple-captcha** 庫:
pip install django-simple-captcha
進入 **settings.py** 檔案,在 INSTALLED_APPS 中新增你的應用和 "captcha":
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', "captchaproject", #My app name "captcha" # the module name ]
這將新增驗證碼作為一個應用。
在專案的根目錄中,新增以下幾行:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include("captchaproject.urls")),
path('/captcha',include("captcha.urls"))
]這將為我的應用和驗證碼驗證的 URL 新增 **url**。
在應用的主目錄中,建立一個 **forms.py** 檔案並輸入:
from django import forms from captcha.fields import CaptchaField class MyForm(forms.Form): captcha=CaptchaField()
在這裡,我們建立了一個帶有驗證碼欄位的表單。
不要忘記執行 **"python manage.py migrate"**
現在在應用的 **view.py** 中,新增以下幾行:
from django.shortcuts import render
from .forms import MyForm
# Create your views here.
def home(request):
if request.method=="POST":
form=MyForm(request.POST)
if form.is_valid():
print("success")
else:
print("fail")
form=MyForm()
return render(request,"home.html",{"form":form})我們在主頁檢視中渲染表單,在 POST 處理程式中,我們驗證表單,或者說是驗證碼,驗證後,我們列印結果。
在 **templates** 目錄(你新增所有渲染的 HTML 或 CSS 檔案的目錄,我假設你已經知道並配置好了它)中建立一個 HTML 檔案,並新增以下幾行:
<!DOCTYPE html>
<html>
<head>
<title>Tut</title>
</head>
<body>
<form method="POST" novalidate>
{%csrf_token%}
{{form.captcha}}
<input type="submit" value="submit">
</form>
</body>
</html>這是我們渲染驗證碼錶單的前端。
我們完成了;現在您可以檢查輸出。
輸出

廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP