Django图片验证码

愿你一生努力,一生被爱。想要的都拥有,得不到的都释怀

  在使用django开发web系统时,经常会遇到需要使用图片验证码的情况。django内置了这方面的模块—django-simple-captcha,使用起来非常方便,在此记录一下。

安装模块

1
pip install django-simple-captcha

视图层views.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from django import forms
from captcha.fields import CaptchaField # 导入模块
class captcha_class(forms.Form):
''' 验证码功能类'''
captcha = CaptchaField(label='验证码')
class login_class(object):
def login(request):
''' 用户登录页面 '''
captcha_ = captcha_class()
return render(request, "login.html",{"captcha":captcha_})
def login_check(request):
""" 登录校验 """
captcha_ = captcha_class(request.POST)
if captcha_.is_valid():
''' 图片验证码校验成功 '''
pass
return login_class.login(request)

路由层urls.py

1
2
3
from django.conf.urls import include
url(r'^captcha/', include('captcha.urls')),

模板层login.html

1
2
3
4
<label for="password" class="password">密码</label>
<input name="password" maxlength="100" type="password">
{{ captcha.captcha.label_tag }}
{{ captcha.captcha }}

settings配置

1
2
3
4
5
6
7
8
9
10
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app',
'captcha',
]

效果图

nmask wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!
坚持原创技术分享,您的支持将鼓励我继续创作!

热门文章推荐: