보안 문자는 웹사이트에서 확인하는 데 사용되는 최신 방법 중 하나입니다. 그것은 매우 멋진 방법이며 모든 두 번째 웹 사이트에서 이를 사용하고 있습니다. 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> 이것은 보안 문자 양식을 렌더링하는 프런트엔드입니다.
우리는 끝났습니다. 이제 출력을 확인할 수 있습니다.
출력
