DRF之Request常用参数

发布时间 2023-07-31 14:15:33作者: 青岛programmer

登录成功,将token封装好返回给前端,前端再放到locallsession里永久化存储。
导航守卫拿到token后就进行第一层守卫防止没登录用户通过。
再由拦截器进行校验。
这个请求头'Authorization'主浊JWT搞得那个加密token,后端就是要校验这个玩意儿我想。获取时在jwtauth里加上HTTP_就OK
jwt其实是从请求头里搞的事,登录后后端造一个token给vue的axios里的interceptor加个请求头,然后后端在需要校验的接口加上jwt的权限。就搞定了

1.Vue中引入Router import {userRouter} from"vue-router"
const router= userRouter();
2.Vuek中引入axios import axios from "axios";

3.import {useStore} rom "vuex"
const store= userStore();
4 npm install vue3-cookies 之后在main.js里import VueCookies from "vue3-cookies" 再user一下

5.:to="{name:'CustomerBasic'}" ——————————:route={name:'Basic'}这两个是相等的前一个要在router-link里用,这个要在menu上加一个:route='true'非常要注意的(21第4节课有讲)

 

 


Django记要:
一.django的request:
request.method 请求方式
request.data————前端传过来的数据,字典,同:
request.GET -----url传递的参数 所有的参数获取到
request.GET.get (同上)这是单独获取
request._request.GET.get('token')=====request.query_params.get('token')___在drf中一般用这个

self.initial_data.get('password') 抽屉视频1-62拿到validated_data 校验之前的数据

request.query_params 本质上就是self._request.GET 一般用request.query_params.get('XX')

request.path_info 当前的url
request.resolver_match当前所有路由相关数据的对象

request.resolver_match.url_name当前路由的名字
request.body 原始请求体(原始数据)————对应POST请求
request.FILES 所有的文件
request.headers 请求头
request.COOKIES 请cookie自动变成一个字典,而不是一个复杂的串(再加工) 这个是专门来拿cookie的
request._request.get('xxxx') +++===request.query_params.get('xxxx')_____query_params本质上就是GET取值

request.GET.get('xxx')

request.GET['xxx']
request.session.set_expiry(60*60*24*)
request.POST.getlist("username")___得到一组值 day06/12
request.get.urlencode()拿到问号后的参数 day10
总之request.query_params拿URL里的?参数request.data拿post.通过request.data.get('xx')
token=request.META.get('HTTP_AUTHORIZATION')请求头中拿
token=request.data.get('xx')请求体中拿
request.POST.getlist("username")___得到一组值 day06/12
request.get.urlencode()拿到问号后的参数 day10

request.data 可能是drf里的字典参数——————可能叫请求体,13-09里讲到
request.query_params drf里url的参数
request.META_____可能是请求头,做认证时讲到,在request.META.get('xx')从请求头中拿东西
request._request.body这是django的功能数据==request.data ——在请求体中加载相应数据。直接就是字典类型。user=request.data.get("username")