Django简单的验证码功能

依赖包

 libz-dev libjpeg-dev libfreetype6-dev python-dev

一、下载包,把captcha复制到项目中

https://github.com/mbi/django-simple-captcha


二、运行

pip install  django-simple-captcha

三、添加到settings.py

INSTALLED_APPS = [
    'captcha',
]

四、运行

python manage.py migrate

五、修改urls.py

from django.conf.urls import url,include
urlpatterns = [
url(r'^captcha/', include('captcha.urls')),
]

六、修改form

form.py 添加captcha

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"验证码有误,请重新输入")