pip install django-simple-captcha
配置setting
# django_simple_captcha 验证码配置 # 格式 CAPTCHA_OUTPUT_FORMAT = u'%(text_field)s %(hidden_field)s %(image)s' # 噪点样式 CAPTCHA_NOISE_FUNCTIONS = ( # 'captcha.helpers.noise_null', # 没有样式 # 'captcha.helpers.noise_arcs', # 线 'captcha.helpers.noise_dots', # 点 ) # 图片大小 CAPTCHA_IMAGE_SIZE = (120, 50) CAPTCHA_BACKGROUND_COLOR = '#ffffff' CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.random_char_challenge' # 图片中的文字为随机英文字母,如 mdsh CAPTCHA_LENGTH = 4 # 字符个数 CAPTCHA_TIMEOUT = 1 # 超时(minutes) # CAPTCHA_CHALLENGE_FUNCT = 'captcha.helpers.math_challenge' # 图片中的文字为数字表达式,如1+2=</span>
python manage.py migrate 生成表
配置url
url(r'^captcha/', include('captcha.urls')),
在forms里面加入字段
captcha = CaptchaField(label='验证码',error_messages={'invalid': "验证码错误"})
传到前端就会显示出来
点击图片刷新验证码异步 ajax提交
<script> $('.captcha').click(function () { $.getJSON("/captcha/refresh/", function (result) { $('.captcha').attr('src', result['image_url']); $('#id_captcha_0').val(result['key']) }); }); </script>
完成验证码 就是样式不怎么好看