Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để thêm hình ảnh xác thực vào trang web Django?

Captcha là một trong những cách hiện đại được sử dụng để xác minh trong các trang web; đó là một cách rất hay và mọi trang web thứ hai đều đang sử dụng nó. Bạn có thể sử dụng captcha của Google nhưng áp dụng nó thực sự rất đau đầu; tuy nhiên trong Django, chúng tôi có một phương pháp đơn giản hơn để làm điều đó.

Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo captcha trong trang web Django. Vì vậy, hãy bắt đầu.

Ví dụ

Trước hết, hãy tạo một dự án Django và một ứng dụng.

Bây giờ hãy cài đặt django-simple-captcha thư viện -

pip install django-simple-captcha

Đi tới settings.py và bên trong INSTALLED_APPS, hãy thêm ứng dụng của bạn và "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
]

Nó sẽ thêm hình ảnh xác thực dưới dạng ứng dụng.

Trong thư mục gốc của dự án, thêm các dòng sau -

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"))
]

Nó sẽ thêm url cho ứng dụng của tôi và url hình ảnh xác thực nơi quá trình xác minh sẽ diễn ra.

Trong thư mục chính của ứng dụng, hãy tạo form.py và nhập -

from django import forms
from captcha.fields import CaptchaField

class MyForm(forms.Form):
   captcha=CaptchaField()

Ở đây, chúng tôi đã tạo một biểu mẫu với trường captcha.

Đừng quên chạy "python management.py migrate"

Hiện đã có trong view.py, của ứng dụng thêm các dòng sau -

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})

Chúng tôi hiển thị biểu mẫu ở chế độ xem tại nhà và trong trình xử lý POST, chúng tôi xác minh biểu mẫu hoặc có thể nói là hình ảnh xác thực và sau khi xác minh, chúng tôi in kết quả.

Tạo tệp HTML trong mẫu thư mục (thư mục nơi bạn thêm mọi tệp HTML hoặc CSS mà bạn hiển thị, tôi cho rằng bạn đã biết và đã định cấu hình nó) và thêm các dòng sau -

<!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>

Đây là giao diện người dùng mà chúng tôi đang hiển thị biểu mẫu captcha.

Chúng ta xong rồi; bây giờ bạn có thể tiến hành kiểm tra đầu ra.

Đầu ra

Làm cách nào để thêm hình ảnh xác thực vào trang web Django?