邮箱注册-验证码

验证码使用第三方库django-simple-captcha

这个安装图形插件步骤官网有哦

- 1.Install django-simple-captcha via pip: pip install  django-simple-captcha
- 2.Add captcha to the INSTALLED_APPS in your settings.py
- 3.Run python manage.py migrate
- 4.Add an entry to your urls.py: urlpatterns += [
url(r'^captcha/', include('captcha.urls')),
] - forms.py里使用
from django import forms
from captcha.fields import CaptchaField class CaptchaTestForm(forms.Form):
myfield = AnyOtherField()
captcha = CaptchaField()
pip install -i https://pypi.douban.com/simple django-simple-captcha

users/forms.py

from captcha.fields import CaptchaField

class RegisterForm(forms.Form):
email = forms.EmailField(required=True)
password = forms.CharField(required=True)
captcha = CaptchaField(error_messages={"invalid":"验证码错误"})

users/views.py

class RegisterView(View):
def get(self, request):
register_form = RegisterForm()#实例化register表单
return render(request, 'register.html', {'register_form': register_form}) #定制错误提示 def post(self, request):
pass

urls.py

from users import views

urlpatterns = [
path('register/', views.RegisterView.as_view(), name="register"), # 邮箱注册url
path('captcha/', include('captcha.urls')),# 图形验证码
]

templates/register.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<div>
<h1>邮箱注册</h1>
<form action="/register/" method="post">
<p><input type="text" name="email" placeholder="username"></p>
<p><input type="text" name="password" placeholder="password"></p>
<p>{{ register_form.captcha }}</p>
<p><input type="submit"></p>
{% csrf_token %}
</form>
</div>
</body>
</html>

图形验证码验证原理

<p>{{ register_form.captcha }}</p>最终生成

<p>
<img src="/captcha/image/16fd37375ff4cd3c5dd603f61316daac3a728099/" alt="captcha" class="captcha" /><input id="id_captcha_0" name="captcha_0" type="hidden" value="16fd37375ff4cd3c5dd603f61316daac3a728099" />
<input autocapitalize="off" autocomplete="off" autocorrect="off" spellcheck="false" id="id_captcha_1" name="captcha_1" type="text" /> </p>

[py][mx]django邮箱注册的验证码部分-django-simple-captcha库使用的更多相关文章

  1. [py][mx]django-解决注册用户已存在,激活链接判断

    注册时候,如果用户已存在,则提示错误 激活用户时候,如果激活链接失效,则提示用户. class RegisterView(View): def get(self, request): register ...

  2. [oldboy-django][2深入django]登录注册页面验证码

    后台生成随机验证码 #验证码生成 - 在login.html 中有一张验证码图片 设置图片的src url, 相当于发送一次get请求,返回的内容为图片渲染的内容 <div class=&quo ...

  3. 基于 Django2 实现邮箱注册登录功能

    1. 开发环境 Python 3.6.5 Django 2.2 2. 项目功能 用户登录 邮箱注册 图形验证码 找回密码 修改密码 用户退出 3. 项目创建 首先创建项目: django-admin ...

  4. python - django (实现电子邮箱的账户注册和验证码功能)

    使用 Django 来做一个电子邮箱注册 并 发送验证码的功能 (此处以 163 邮箱为例) 一. 登陆 163 邮箱账号,  然后进行下列操作 二. settings 配置文件 # 发送邮箱验证码 ...

  5. Django实现注册,往邮箱发送验证链接

    由于最近要做个平台,在GitHub上下载了一个系统框架,想着为了安全,实现注册时往一个邮箱发送注册信息,由管理员来确认是否同意其注册. 感谢博主:https://blog.csdn.net/geek_ ...

  6. django 注册、登录及第三方接口程序(4):扩展邮箱注册,登录,微博登录

    1.邮箱注册 这里需要扩展User,两种解决办法,1,注册时将email字段内容赋给username,这种瞒天过海型的,另一种就是扩展user,这里介绍django1.5的扩展方法. 1.settin ...

  7. [py][mx]django处理登录逻辑

    浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...

  8. [py][mx]django form验证-给db减压

    django form认证-解压db压力 一般系统都需要前后端都验证 前端验证容器逃逸破解,如通过js console口去发 试想如果后端只有db验证,那么前端无论发什么后端都查询一次db,对db压力 ...

  9. [py][mx]django使用class写views-免去判断方法的烦恼

    修改views使用class模式 类模式写views - 免去了函数模式的判断的烦恼 users/views.py from django.views.generic import View clas ...

随机推荐

  1. 常见微信小程序开发工具

    图标: 1.iconfont图标库:http://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.2

  2. GitHub上整理的一些工具【转载】

    技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...

  3. purge recyclebin之后dba_segments仍然有BIN$段

    现象: purge recyclebin之后dba_segments仍然有BIN$段. 如下,执行了purge recyclebin之后: SQL> select segment_name,SE ...

  4. POP3命令与分析

    http://www.cnblogs.com/crystalray/p/3302121.html POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何 ...

  5. sencha touch 在视图中显示一个html页面

    Ext.define('app.view.about.About', { alternateClassName: 'about', extend: 'Ext.Container', xtype: 'a ...

  6. 公钥基础设施体系和EJBCA的一些概念

    最近一段时间的在公司做的事情是: 1. 为公司的一些线上系统启用https(使用nginx反向代理的方式来实现,之前的应用无需做改动) 2.为符合规则的用户颁发数字证书(自建CA来实现,目前的用途是给 ...

  7. 更新jenkins插件,报错 Perhaps you need to run your container with "-Djava.awt.headless=true"?

    Configuring the Java environment variables vi ~/.bash_profile 在最后一行加入: export JAVA_OPTS=-Djava.awt.h ...

  8. 【C#】基础知识

    C#常用函数表1.DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=S ...

  9. SQL已存在则更新不存在则插入

    不废话,下代码. replace into T_Life_UMessage(message_id,account,isread,isdelete)values(?,?,1,1) 意思是若不存在则插入要 ...

  10. Nginx配置项优化详解(转)

    (1)nginx运行工作进程个数,一般设置cpu的核心或者核心数x2 如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件 grep ^processor / ...