django-simple-captcha 模块
pip install django-simple-captcha
pip install Pillow
和注册 app 一样,captcha 也需要注册到 settings 中
INSTALLED_APPS = [
... 'captcha',
]
在项目根目录下的 urls.py 中添加 captcha 对应的路由:
from django.contrib import admin from django.urls import path, include urlpatterns = [
path('admin/', admin.site.urls),
path('captcha', include('captcha.urls')), # 验证码
]
forms.py
from django import forms
from captcha.fields import CaptchaField
class UserForm(forms.Form):
username = forms.CharField(
label='用户名',
max_length=128,
widget=forms.TextInput(attrs={'class': 'form-control'}))
captcha = CaptchaField(
label='验证码',
required=True,
error_messages={ 'required': '验证码不能为空' } )
views
from demo.forms import UserForm
from django.core.cache import cache
class log(View):
def get(self,request):
register_form = UserForm()
return render_to_response('login.html', { 'register_form': register_form})
前端只需要传入参数即可
html
{{ register_form.captcha }}
效果如下
每次生成新的验证码会在