Django简单的验证码功能
依赖包
1
|
libz-dev libjpeg-dev libfreetype6-dev python-dev
|
一、下载包,把captcha复制到项目中
https://github.com/mbi/django-simple-captcha
二、运行
1
|
pip
install
django-simple-captcha
|
三、添加到settings.py
1
2
3
|
INSTALLED_APPS
=
[
'captcha'
,
]
|
四、运行
1
|
python manage.py migrate
|
五、修改urls.py
1
2
3
4
|
from
django.conf.urls
import
url,include
urlpatterns
=
[
url(r
'^captcha/'
, include(
'captcha.urls'
)),
]
|
六、修改form
form.py 添加captcha
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
from
captcha.fields
import
CaptchaField
class
LoginForm(forms.Form):
username
=
forms.CharField(label
=
'用户名'
,widget
=
forms.TextInput(attrs
=
{
"placeholder"
:
"用户名"
,
"required"
:
"required"
,}),
max_length
=
50
, error_messages
=
{
"required"
:
"username不能为空"
,})
password
=
forms.CharField(label
=
'密码'
,widget
=
forms.PasswordInput(attrs
=
{
"placeholder"
:
"密码"
,
"required"
:
"required"
,}),
max_length
=
20
, error_messages
=
{
"required"
:
"password不能为空"
,})
captcha
=
CaptchaField(label
=
'验证码'
)
def
clean(
self
):
#验证码
try
:
captcha_x
=
self
.cleaned_data[
'captcha'
]
except
Exception as e:
print
(
'except: '
+
str
(e))
raise
forms.ValidationError(u
"验证码有误,请重新输入"
)
本文转自银狐博客51CTO博客,原文链接http://blog.51cto.com/foxhound/1828510如需转载请自行联系原作者 战狐
|