django ajax 注册,django项目注册页面ajax验证

本文介绍了一个使用AjaxPOST提交表单并进行客户端验证的示例。通过获取`csrfmiddlewaretoken`来确保安全性,分别针对用户名、密码、确认密码和验证码进行验证。在`views.py`中定义了对应的检查函数,检查用户名长度、密码是否一致及验证码正确性,返回JSON响应以告知前端验证结果。
摘要由CSDN通过智能技术生成

ajax post方式提交时需要在 data中添加 "csrfmiddlewaretoken":$("[name=csrfmiddlewaretoken]").val()

user/url.py

urlpatterns = [

url(r"^check_username/$",views.check_username,name="check_username"),

url(r"^check_password/$",views.check_password,name="check_password"),

url(r"^check_password2/$",views.check_password2,name="check_password2"),

url(r"^check_img_code/$",views.check_img_code,name="check_img_code"),

...]

user/register.html

{% load static from staticfiles %}

{% csrf_token %}

用户名:

密码:

确认密码:

验证码:

%7B%%20url%20

user/views.py

def check_username(request):

username = request.GET.get("username")

print(username)

for i in User.objects.all():

if i.username == username:

r={"r_link":"该用户名已被使用"}

return HttpResponse(json.dumps(r, ensure_ascii=False),

content_type="application/json;charset=utf-8")

else:

if len(username)>=6 and len(username)<=10:

r = {"r_link": "ok"}

return HttpResponse(json.dumps(r, ensure_ascii=False),

content_type="application/json;charset=utf-8")

else:

r = {"r_link": "用户名为6-10位"}

return HttpResponse(json.dumps(r, ensure_ascii=False),

content_type="application/json;charset=utf-8")

def check_password(request):

password = request.POST.get("password")

if len(password)>=6 and len(password)<=10:

r = {"r_link": "ok"}

else:

r = {"r_link": "密码为6-10位"}

return HttpResponse(json.dumps(r, ensure_ascii=False),

content_type="application/json;charset=utf-8")

def check_password2(request):

password = request.POST.get("password")

password2 = request.POST.get("password2")

print(password,password2)

if password==password2:

r = {"r_link": "ok"}

else:

r = {"r_link": "两次密码不一致"}

return HttpResponse(json.dumps(r, ensure_ascii=False),

content_type="application/json;charset=utf-8")

def check_img_code(request):

img_code1 = request.GET.get("img_code")

img_code2= request.session.get("img_code")

print(img_code1,img_code2)

if img_code1==img_code2:

r = {"r_link": "ok"}

else:

r = {"r_link": "验证码错误"}

return HttpResponse(json.dumps(r, ensure_ascii=False),

content_type="application/json;charset=utf-8")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值