要实现django图形验证码,可以使用简单的captcha

一、安装captcha

在Pycharm的terminal中,使用pip安装第三方库:

执行命令:

pip install django-simple-captcha

二、注册captcha

在settings中,将‘captcha’注册到app列表里:

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'login',

'captcha',

]

三、captcha需要在数据库中建立自己的数据表,所以需要执行migrate命令生成数据表:

migrate

四、添加路由,在urls.py中增加这一行

path('captcha/', include('captcha.urls'))

五、表单中添加对应代码。

from captcha.fields import CaptchaField #添加这里

class UserForm(forms.Form):

username =forms.CharField(label='用户名',max_length=128,widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': "Username",'autofocus': ''}))

password = forms.CharField(label='密码',max_length=256,widget=forms.PasswordInput(attrs={'class': 'form-control','placeholder': "Password"}))

captcha = CaptchaField(label="验证码") #添加这里

六、登录目标login.html中代码

{% load static %}

登录

{% if myform.captcha.errors %}

{{ myform.captcha.errors }}

{% elif message %}

{{ message }}

{% endif %}

{% csrf_token %}

欢迎登录!

{{ myform.username.label_tag }}

{{ myform.username }}

{{ myform.password.label_tag }}

{{ myform.password }}

{{ myform.captcha.label_tag}}

{{ myform.captcha}}

新用户注册:

登录

{# 以下三者的引用顺序是固定的#}

其中图形验证码关键代码为:

{{ myform.captcha.label_tag}}

{{ myform.captcha}}

html的表单图形验证码怎么做,django中简单图形验证码实现相关推荐

  1. action无法传参数给html页面,HTML 解决form表单提交时,action url中参数无效问题

    这篇文章主要为大家详细介绍了HTML 解决form表单提交时,action url中参数无效问题,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  2. jsp 中提交表单后在firefox、chrome 中中文显示为正常,但在IE中中文显示为乱码?...

    如题: jsp 中提交表单后在firefox.chrome 中中文显示为正常,但在IE中中文显示为乱码? 备注:框架:spring 和hibernate 提交表单后,在IE中提交的数据传到Contro ...

  3. wps制作pdf模板,Adobe Acrobat DC利用pdf模板做填充数据表单域,在maven项目中利用java生成pdf

    如做pdf建议http://www.xdocin.com/index.html 以下方法仅供参考 首先制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf格式文件 3.通过Adob ...

  4. 禁用form表单select置灰_UI设计中置灰功能总结

    我最近在梳理产品报错场景的过程中,发现"置灰"状态的使用可以有效的提升报错场景中的用户体验.今天我就针对UI设计中置灰功能总结进行简单的说明. 一.置灰 「置灰」是相对于「常态」而 ...

  5. 语音验证码可以做什么用?语音验证码平台支持哪些语种?

    "用户在注册/登录时,迟迟收不到验证码短信怎么办?平台推出多种优惠活动,却频频遭遇"羊毛党"怎么办?"这是当下众多互联网公司/平台运营所面临的痛点. 在互联网时 ...

  6. php联系人表单,PHP联系人表单布局不允许在电子邮件中添加新行

    我有这个代码的联系表单 $message = "Telephone Number: $telephone"."\n"."Job Details: $m ...

  7. php表单复选传值,jQuery+SpringMVC中的复选框选择与传值实例_jquery

    下面我就为大家分享一篇jQuery+SpringMVC中的复选框选择与传值实例,具有很好的参考价值,希望对大家有所帮助. 一.checkbox选择 在jQuery中,选中checkbox通用的两种方式 ...

  8. html表单 传递 符号,HTML源码中 form 标签的 enctype 属性

    定义:enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码.默认地,表单数据会编码为 "application/x-www-form-urlencoded".即在发 ...

  9. php获取表单后如何保存到数据库中,php – 如何将数据从HTML表单保存到WordPress中的数据库表?...

    我有一个WordPress主题,我正在尝试将数据从 HTML表单保存到数据库中. 我创建了HTML表单并添加了一个"save& close"按钮,该按钮调用名为saveDa ...

最新文章

  1. BAT七年经验,却抵不过外企面试的两道算法题?
  2. VMware View 与Citrix XenDesktop对决之用户体验篇
  3. 用Eclipse进行java学习的步骤
  4. Mybatis简单的入门之增删改查
  5. EmEditor编辑器正则表达式的优点
  6. VxWorks关于任务创建的几个函数的概述
  7. MP实战系列(十七)之乐观锁插件
  8. leetcode 121
  9. 从博客园迁移到简书平台
  10. nyoj54小明的存钱计划
  11. SQL基础知识归纳总结
  12. java实现网页评分_Java web分级测试评分C级感受
  13. React-mentions 基本使用
  14. hexo自定义域名以及解析
  15. linux开启rdp服务,让windows电脑mstsc远程,linux rdesktop远程windows机器
  16. 腾讯2019技术岗笔试 猜硬币 众所周知,每一枚硬币都有两面,假定投掷一枚硬币,得到正面和反面的概率是一样的。小Q有一天和好朋友在玩投掷硬币的游戏,他投了n枚硬币,已知至少有p正,q反,求n枚硬币
  17. 大兴火灾难觅真相,违建楼房阻隔希望
  18. 洗地机哪个品牌的好用?口碑最好的洗地机
  19. cscope精准查看linux函数调用,Cscope的使用(领略Vim + Cscope的强大魅力)
  20. linux命令查看cpu序列号,Linux下用命令查看CPU ID以及厂家等信息

热门文章

  1. 莫名其秒的Cannot load JDBC driver class 'com.mysql.jdbc.Driv
  2. 基于Visual Studio2010讲解LINQ读出数据库数据生成XML
  3. Depth-first Search深度优先搜索专题1
  4. [CodeForces-1138B] *Circus 解方程|数学
  5. android glide 版本,Android Studio 第六十七期 - Android Glide3.7.0和3.8.0用法
  6. jsp中设置自动换行_办公技巧—Word中如何设置自动生成序号
  7. RT-Thread中堆和栈内存的分配
  8. ubuntu 14 java web服务器搭建
  9. 字节跳动专家会_字节跳动招聘直播策略运营专家/经理/海外财务AR BP,ACCA优先...
  10. stm32 485和232可以用同一个串口吗_STM32的复用时钟何时开启?