美文网首页
django 编写登录和注册接口

django 编写登录和注册接口

作者: Martain | 来源:发表于2018-05-29 16:36 被阅读27次

    用到的知识:

    • 跨域
    • csrf验证取消
    • POST数据的解析
    • Model对象的简单应用

    引入库

    from django.views.decorators.csrf import csrf_exempt
    

    直接记录代码

    #登录
    @csrf_exempt #关闭csrf验证
    def login(request):
        data=json.loads(request.body)
        user=User.objects.get(email=data['email'])
        if user:
            if data['password'] != user.password:
               return HttpResponse("密码错误")
            else:
                return HttpResponse("登录成功")
            return HttpResponse("存在"+user.password)
        else:
           return  HttpResponse("不存在") 
    
    #注册
    @csrf_exempt
    def register(request):
        data=json.loads(request.body)
        if (data['email'] == "" and data['password'] == ""):
            return HttpResponse("信息有误")
        else:
            user = User(email=data['email'], password=data['password'])
            user.save()
            return HttpResponse("ok")
    

    问题记录

      1. 使用jquery ajax请求失败,crsf说cookies没有设定
      1. 使用axios成功访问
        $.ajax({
                        type: "post",
                        url: API_REGISTER,
                        async: true,
                        contentType: "application/json",
                        data: {email:$('#email').val(),password:$('#psd1').val() 
                        }, 
                        success: function(result) {
                            alert("success")
                        },
                        error: function(error) {
                            alert("failed")
                        }
                    });
    

    axios 成功

        axios.post(API_REGISTER,{
                        email:$('#email').val(),
                        password:$('#psd2').val()
                    }).then(function (response) {
                        console.log(response.data)
                    })
    

    相关文章

      网友评论

          本文标题:django 编写登录和注册接口

          本文链接:https://www.haomeiwen.com/subject/nkeajftx.html