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

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

var create_img_code = document.getElementById("create_img_code")

var url = "/user/create_img_code?num="

create_img_code.onclick = function () {

var num = new Date().getTime()

url += num

create_img_code.src = url

}

$(function(){

$("#username").blur(function(){

$.ajax({

"url":"{% url "user:check_username" %}",

"data":{

"username":$(this).val().trim()

},

"success":function (data) {

$("#username_link").html("")

$("#username_link").append(data.r_link)

}

})

})

$("#password").blur(function(){

$.ajax({

"url":"{% url "user:check_password" %}",

"type":"post",

"data":{

"password":$(this).val().trim(),

"csrfmiddlewaretoken":$("[name=csrfmiddlewaretoken]").val()

},

"success":function (data) {

$("#password_link").html("")

$("#password_link").append(data.r_link)

}

})

})

$("#password2").blur(function(){

$.ajax({

"url":"{% url "user:check_password2" %}",

"type":"post",

"data":{

"password":$("#password").val().trim(),

"password2":$(this).val().trim(),

"csrfmiddlewaretoken":$("[name=csrfmiddlewaretoken]").val()

},

"success":function (data) {

$("#password2_link").html("")

$("#password2_link").append(data.r_link)

}

})

})

})

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、付费专栏及课程。

余额充值