官方文档:http://django-simple-captcha.readthedocs.io/en/latest/usage.html#installation
github:https://github.com/mbi/django-simple-captcha
安装部署
版本:django 1.9
1
|
pip install django-simple-captcha==0.4.6
|
- settings.py配置,加入captcha
1
2
3
4
5
6
7
8
9
|
INSTALLED_APPS = [
'django.contrib.admin' ,
'django.contrib.auth' ,
'django.contrib.contenttypes' ,
'django.contrib.sessions' ,
'django.contrib.messages' ,
'django.contrib.staticfiles' ,
'captcha' ,
]
|
- urls.py配置
加入url(r'^captcha/', include('captcha.urls')),
1
2
3
4
5
6
7
|
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r '^admin/' , admin.site.urls),
url(r '^captcha/' , include( 'captcha.urls' )),
]
|
- 数据库同步
1
2
|
makemigrations
migrate
|
应用场景
- form定义
app下自定义froms.py文件,创建一个注册form
1
2
3
4
5
6
7
|
from django import forms
from captcha.fields import CaptchaField
class RegisterForm(forms.Form):
email = forms.EmailField(required=True)
password = forms.CharField(required=True, min_length=5)
captcha = CaptchaField(error_messages={ "invalid" : u "验证码错误" })
|
- views.py代码
1
2
3
4
5
6
7
|
from django.views.generic.base import View
class RegisterView(View):
def get(self, request):
register_form = RegisterForm()
return render(request, "register.html" , { "register_form" : register_form})
|
- html页面引用
1
|
{{ register_form.captcha }}
|