Django6 그래픽 인증 코드
pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ django-simple-captcha
settings
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'App',
'captcha' #
]
#
#
CAPTCHA_IMAGESIZE = (8,45) # captcha
CAPTCHA_LENGTH =4 #
CAPTCHA_TIMEOUT =1 # (minutes)*
# : •
# '%(image)s %(hidden_field)s %(text_field)s'
CAPTCHA_OUTPUT_FORMAT ='%(text_field)s %(image)s %(hidden_field)s'
CAPTCHA_NOISE_FUNCTIONS =(
'captcha.helpers.noise_null',
'captcha.helpers.noise_arcs',
'captcha.helpers.noise_dots',
)
CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.math_challenge'
urls
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include("App.urls")),
path('captcha/',include("captcha.urls"))
]
App.urls
from django.urls import path
from App import views
app_name = "App"
urlpatterns = [
path("cap/",views.handle_captcha, name='cap'),
]
App.views
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
from App.forms import LoginForm
def handle_captcha(request):
if request.method == "POST":
form = LoginForm(request.POST,request)
print(form)
if form.is_valid():
return HttpResponse(" ")
else:
return render(request, 'verifycode.html', locals())
else:
form = LoginForm()
return render(request,'verifycode.html',locals())
App.forms
from django import forms
from captcha.fields import CaptchaField
class LoginForm(forms.Form):
captcha = CaptchaField() #
verifycode.html
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<form action="{% url 'App:cap' %}" method="post">
{% csrf_token %}
{{ form.captcha }} {{ form.captcha.errors }} <br>
<input type="submit">
form>
body>
html>
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.min.js">script>
<script>
//
$(function () {
$('.captcha').css({
'cursor': 'pointer'
});
// ajax
$('.captcha').click(function () {
console.log('click');
$.get("{% url 'captcha-refresh' %}",
function (result) {
$('.captcha').attr('src', result['image_url']);
$('#id_captcha_0').val(result['key'])
});
});
})
script>
데이터베이스 연결, 그래픽 인증 라이브러리 만들기
python manage.py makemigrations python manage.py migrate
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django & Stripe - 오픈 소스 미니 전자 상거래안녕하세요! 이 문서에서는 Stripe를 결제 프로세서로 사용하고 Django를 백엔드로 사용하는 오픈 소스 프로젝트를 소개합니다. 전자상거래 섹션 콘텐츠는 JSON에서 로드되며 정보는 간단한 라우팅 논리로 관리됩니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.