Captcha เป็นหนึ่งในวิธีการที่ทันสมัยสำหรับการตรวจสอบในเว็บไซต์ มันเป็นวิธีที่เจ๋งมากและทุก ๆ เว็บไซต์ก็ใช้มัน คุณสามารถใช้ Google captcha ได้ แต่การใช้งานนั้นปวดหัวมาก อย่างไรก็ตามใน Django เรามีวิธีการที่ง่ายกว่านี้
ในบทความนี้ เราจะมาเรียนรู้วิธีสร้าง captcha ในเว็บไซต์ 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()
ที่นี่เราสร้างแบบฟอร์มที่มีฟิลด์ captcha
อย่าลืมเรียกใช้ "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 เราตรวจสอบแบบฟอร์มหรือเราสามารถพูดแคปต์ชาและหลังจากการตรวจสอบ เราจะพิมพ์ผลลัพธ์
สร้างไฟล์ HTML ใน เทมเพลต ไดเร็กทอรี (ไดเรกทอรีที่คุณเพิ่มทุกไฟล์ HTML หรือ CSS ที่คุณแสดง ฉันคิดว่าคุณรู้และกำหนดค่าแล้ว) และเพิ่มบรรทัดต่อไปนี้ -
<!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> นี่คือส่วนหน้าที่เราแสดงผลแบบฟอร์ม captcha
เราเสร็จแล้ว ตอนนี้คุณสามารถดำเนินการตรวจสอบผลลัพธ์ได้
ผลลัพธ์
