首页 技术 正文
技术 2022年11月6日
0 收藏 392 点赞 918 浏览 1830 个字

邮箱注册-验证码

验证码使用第三方库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 CaptchaFieldclass 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 CaptchaFieldclass 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 viewsurlpatterns = [
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>
上一篇: __getattr__,settr
下一篇: poj2063 Investment
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,078
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,553
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,402
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,177
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,814
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898