美文网首页
VUE.JS 在django发送认证信息

VUE.JS 在django发送认证信息

作者: MingSha | 来源:发表于2016-12-28 19:43 被阅读0次

1、在使用VUE.js进行用户认证时,可以使用RESTful,reqwest.js,Cookie.js进行操作。

logIn:function () {
    var self = this;
    reqwest({
        url:'/api/token-auth',
        type:'json',
        method:'post',
        data:{
            username:'admin',
            password:'admin12345',
        },
        success:function (resp) {
            console.log(resp);
            Cookies.set('token',resp.token);
            self.getData()
        },
    })
},

其中/api/token-auth,为token-auth验证url,在urls.py中
引入from rest_framework.authtoken import views,urlpattern写入url(r'^api/token-auth$', views.obtain_auth_token),

Paste_Image.png

2、在后台引入相应的库文件

from rest_framework.decorators import api_view, authentication_classes
from rest_framework.authentication import TokenAuthentication #认证库


class VideoSerializer(serializers.ModelSerializer):
    title = serializers.CharField(min_length=1)

    class Meta:
        model = Video
        fields = '__all__'
        depth = 1


@api_view(['GET', 'POST'])
@authentication_classes((TokenAuthentication, )) #装饰器
def video(request):
    video_list = Video.objects.order_by('-id')
    if request.method == 'GET':
        print(request.user)
        print(request.auth)
        serializer = VideoSerializer(video_list, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = VideoSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        body = {
            'body': serializer.errors,
            'msg': '40001'
        }
        return Response(body, status=status.HTTP_400_BAD_REQUEST)

3、在前台刷新得到信息时

getData:function () {
    var self = this;
    reqwest({
        url:'/api/videos/',
        type:'json',
        headers:Cookies.get('token')? {'Authorization': 'Token ' + Cookies.get('token')}:{},
        success:function (resp) {
            console.log(resp);
            self.vids = resp

        },

    })
},

其中headers部分是发送数据:
headers:Cookies.get('token')? {'Authorization': 'Token ' + Cookies.get('token')}:{},
即得到Token则发送认证,没有数据则发送空值。

相关文章

  • VUE.JS 在django发送认证信息

    1、在使用VUE.js进行用户认证时,可以使用RESTful,reqwest.js,Cookie.js进行操作。 ...

  • django使用过程的中踩的坑

    1、django的request参数 其中 请求报文 由客户端发送,其中包含和许多的信息,而 django 将这些...

  • 2018-07-17

    发送邮件 django中内置了邮件发送功能,被定义在django.core.mail模块中,发送邮件需要使用SMT...

  • smtp服务器开启

    发送邮件 Django中内置了邮件发送功能,被定义在django.core.mail模块中。发送邮件需要使用SMT...

  • Django社交网络

    使用Django认证(authentication)框架 Django拥有一个内置的认证(authenticati...

  • djano笔记(八)认证

    1.用户认证 认证需要用到auth模块 使用django自带的User模型 在django shell里先创建用户...

  • Django实现用户密码重置

    使用Django内置的认证视图实现简单的通过邮箱重置密码的功能版本:django 1.11 在django.con...

  • Django Auth认证模块

    Django Auth认证模块

  • CMDB

    统一登录认证 基本逻辑,登录认证系统,在登录时,前端发送请求到统一的认证系统,返回token。然后前端发送post...

  • Django 源码解读-signal实现(一)

    signal在django中用于发送通知,在django中内置的信号包括 post_save, pre_delet...

网友评论

      本文标题:VUE.JS 在django发送认证信息

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