Django使用django-simple-captcha 生成验证码。
django-simple-captcha Github地址
安装
- pip install  django-simple-captcha
 
- 添加- captcha到 settings.py的INSTALLED_APPSL里面。
 
- 运行- python manage.py migrate生成数据表
 
- 配置urls.py 
| 12
 3
 
 | urlpatterns += [url(r'^captcha/', include('captcha.urls')),
 ]
 
 | 
引用
新建forms.py
| 12
 3
 4
 5
 6
 
 | from captcha.fields import CaptchaField
 class RegisterForm(forms.Form):
 email = forms.EmailField(required=True)
 password = forms.CharField(required=True, min_length=6)
 captcha = CaptchaField(error_messages={"invalid": u"验证码错误"})
 
 | 
models.py
直接验证表单是否通过,验证码字段会一并校验。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 | class RegisterView(View):def get(self, request):
 register_form = RegisterForm()
 return render(request=request, template_name='register.html', context={"register_form": register_form})
 
 def post(self, request):
 register_form = RegisterForm(request.POST)
 if register_form.is_valid():
 user_profile = UserProfile()
 user_name = request.POST.get('username', '')
 pass_word = request.POST.get('password', '')
 user_profile.username = user_name
 user_profile.email = user_name
 user_profile.password = make_password(password=pass_word)
 else:
 return render(request=request, template_name='register.html', context={"register_form": register_form})
 
 | 
参考资料
Django-simple-captcha Document
      