보안 문자는 웹사이트에서 확인하는 데 사용되는 최신 방법 중 하나입니다. 그것은 매우 멋진 방법이며 모든 두 번째 웹 사이트에서 이를 사용하고 있습니다. Google 보안 문자를 사용할 수 있지만 적용하는 것은 정말 골치 아픈 일입니다. 그러나 Django에는 그렇게 하는 더 간단한 방법이 있습니다.
이 기사에서는 Django 웹 사이트에서 보안 문자를 만드는 방법을 배울 것입니다. 자, 시작하겠습니다.
예시
먼저 Django 프로젝트와 앱을 생성합니다.
이제 django-simple-captcha를 설치하세요. 라이브러리 -
pip install django-simple-captcha
settings.py로 이동합니다. INSTALLED_APPS 내부에 앱과 "보안 문자"를 추가합니다. −
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 처리기에서 양식을 렌더링하고 양식을 확인하거나 보안 문자라고 말할 수 있으며 확인 후 결과를 인쇄합니다.
템플릿에서 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>
이것은 보안 문자 양식을 렌더링하는 프런트엔드입니다.
우리는 끝났습니다. 이제 출력을 확인할 수 있습니다.
출력