Django验证码问题处理

Django验证码问题处理

一开始给自己的Django程序的登陆界面添加验证码,是用PIL库生成验证码图片,将图片存入内存,读取到页面显示这么个过程

但是在将Django项目上传部署到服务器后,发现登陆界面验证码图片500error挂掉了,实在是无法处理这个

那么就去找已有的轮子来修改项目了

找到了django-simple-captcha这个第三方库,官方文档:http://django-simple-captcha.readthedocs.io/en/latest/usage.html

需要说明一下,这个库依赖pillow在Python3中,

可能是因为我使用了anaconda来管理环境,可能和原有的PIL冲突了,一开始安装失败,并且原有的PIL也gg了

最后,卸载重安大法伺候。。。

使用方法:

1、将captcha添加到settings.py文件的app目录中:(这个插件就是个app,不需要再去用命令创建app,写进去就可以直接用)

  

2、在总路由urls.py中添加相应的url指向:

  

3、执行python manage.py migrate captcha更新数据表,生成captcha_captchastore名称的数据表

4、captcha这个验证码插件配合Django的forms表单系统,蛮不错的:

  (1)在app下建立新文件forms.py:

  

  (2)在登陆页视图py文件中,导入forms.py中创建的表单类,在视图函数中,创建一个表单对象,传递到页面上:

  

  (3)在登陆页html中,修改form表单中的写法:

  

5、点击刷新验证码图片,可以使用JavaScript的click事件,加上下列代码即可:

  

以上也只是浅显的用法,满足目前的需要,其他的设置什么的可以看文档

猜你喜欢

转载自www.cnblogs.com/lambs/p/9382430.html