Django ajax 用户登录,Django1.7+JQuery+Ajax验证用户注册集成小例子

Ajax的出现让Web展现了更新的活力,基本所有的语言,都动态支持Ajax与起服务端进行通信,并在页面实现无刷新动态交互。 下面是散仙使用Django+Jquery+Ajax的方式来模拟实现了一个验证用户注册时,用户名存在不存在的一个小应用。注意,验证存在不存在使用的是Ajax的方式,不用让用户点击按钮验证是否存在。 截图如下:

905e61688300d4f1c5eeaa20dea83883.png

011d363d42cd0640bf80c9aed049661d.png

页面HTML代码如下:

Ajax验证测试

$(function(){

$("#pu").bind('keydown',function(){

c=$("#pu").val()

$.ajax({

type:"POST",

url:"/ccc/",

data:{name:c},

dataType:"json",

success: function(data) {

$("#p").text(data.msg)

}

});

})

})

输入名字进行校验:

view端的代码,注意csrf的装饰方法,针对post请求:

from django.shortcuts import render

from django.http.response import HttpResponse

# Create your views here.

from django.shortcuts import render_to_response

#导入render_to_response

from django.shortcuts import render_to_response

#导入包装的csrf请求,对跨站攻击脚本做处理

from django.views.decorators.csrf import csrf_exempt

import json

def tt(request):

return render_to_response('em/add.html')

names=list();

names.append("zhangsa")

names.append("aa")

names.append("b")

names.append("c")

@csrf_exempt

def ccc(request):

name=request.POST.get("name",None)

rtxt="";

if name is not None:

b=name in names

if b:

#print("名字已经存在!",name)

rtxt="名字已经存在!"

else:

print("名字不存在!")

rtxt="名字不存在!"

#print("获取的名字是:NU",name)

return HttpResponse(json.dumps({"msg":rtxt}))

urls里面的代码:

#ajax校验

url(r'^ccc/$',ccc),

注意里面用到了json.dumps函数来生成json对象,注意词典的形式,在测试之前,最后,先访问一下看看,json数据是否能拿到.

2d9b6cb776e5387fdba7e7c09c984777.png

ajax验证没有问题之后,我们就可以在前端进行了,测试效果就是散仙开头所截图,本文的重点在于验证ajax的功能调用,所以并没有直接从数据库里面获取数据进行验证,而是使用了list集合,进行了数据的模拟,如果想做的更完美一点,可以把数据库部分实现,这样就与真实中的网站验证场景就一样了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值