注册登陆验证码 参考的是 :
http://django-simple-captcha.readthedocs.io/en/latest/usage.html#adding-to-a-form
以下是前几部的操作 :
Using django-simple-captcha
Installation
Install
django-simple-captchavia pip:pip install django-simple-captchaAdd
captchato theINSTALLED_APPSin yoursettings.pyRun
python manage.py migrateAdd an entry to your
urls.py:urlpatterns += [ url(r'^captcha/', include('captcha.urls')), ]
Note: PIL and Pillow require that image libraries are installed on your system. On e.g. Debian or Ubuntu, you'd need these packages to compile and install Pillow:
apt-get -y install libz-dev libjpeg-dev libfreetype6-dev python-dev
定义要给form表单 :
#注册界面,captcha 验证码
class Register_Form(forms.Form):
email = forms.EmailField(required=True)
password = forms.CharField(max_length=10,min_length=3)
captcha = CaptchaField(error_messages={"invalid":u"验证码错误"})
html前端页面:
<form class="form-signin" role="form" method="POST" action="{% url 'registViews' %}">
{% csrf_token %}
<div>
邮 箱:<input type="email" name="email" id="username"/>
</div>
<br>
<div>
密 码:<input type="password" name="password" id="pwd"/>
</div>
<div >
{# <input type="text" name="captcha" id="captcha"/>#}
验证码: {{ register_form.captcha }}
</div>
<div>
<input type="submit" value="注册并登录"/>
<input type="reset" name="reset" value="重置"/>
<div id="result"></div>
</div>
</form>
views.py
#注册
def registViews(request):
if request.method =="GET":
register_form = Register_Form()
return render(request,'rc_test/register.html',context= {'register_form':register_form })
else:
reg = Register_Form(request.POST)
print reg
if reg.is_valid():
email = reg.cleaned_data['email']
password = reg.cleaned_data['password']
print email
print password
if UserInfo.objects.filter(email=email):
return render(request,'rc_test/register.html',{'register_form':reg,
'msg':'用户已经存在'
})
#如果没有注册 ,保存到数据库中 ,但是还没有被激活 ,发送邮件等待验证
user_proinfo = UserInfo()
user_proinfo.username = email
user_proinfo.email = email
user_proinfo.is_active = False
user_proinfo.password = make_password(password) #make_password() 是hash 的加密方式
user_proinfo.save()
#发送邮箱
# send_register_email(email,'register')
return HttpResponseRedirect(reverse('loginViews'))
# return render(request,'rc_test/register.html')
return HttpResponseRedirect(reverse('registViews'))
页面展示 :

定义一个userinfo的表存放注册信息
#用户信息表
class UserInfo(models.Model):
username = models.CharField(max_length=50)
password = models.CharField(max_length=100)
email = models.EmailField()

本文介绍如何在 Django 应用中集成 django-simple-captcha 验证码模块,包括安装配置步骤、前后端实现方式及视图处理逻辑。
427

被折叠的 条评论
为什么被折叠?



