django 中验证码catchForm

1、安装django-simple-captcha类库

pip install django-simple-captcha

2、增加captcha 到settings 下的 app字典中

3、创建数据库

python manage.py syncdb

4、增加URL配置到项目URL中

urlpatterns += patterns('',
    url(r'^captcha/', include('captcha.urls')),
)

5、增加model

from django import forms

from captcha.fields import CaptchaField


class CaptchaForm(forms.Form):
    captcha = CaptchaField(label=u"验证码")

 或

from django import forms
from captcha.fields import CaptchaField

class CaptchaTestModelForm(forms.ModelForm):
    captcha = CaptchaField()
    class Meta:
        model = MyModel

6、前端的展示以及验证

def register_page(request):
    ret = {
        'captcha': CaptchaForm()
    }
    return render_to_response("accounts/new_register.html", ret)
{{ captcha }}
                        {% if captcha_error %}
                        <p style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ captcha_error }}</p>
                        {% endif %}

7、后台接受以及验证

form = CaptchaForm(request.POST)
    if form.is_valid():
        pass
    else:
        ret['captcha_error'] = "验证码错误"
        success_flag = False
    ret['captcha'] = CaptchaForm()

  

相关推荐