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
เราเสร็จแล้ว ตอนนี้คุณสามารถดำเนินการตรวจสอบผลลัพธ์ได้
ผลลัพธ์