08
2020
11

如何将dict转换成url的格式:

#使用urlencode#from urllib.parse import urlencode#post_data={"k1":"v1","k2":"v2"}#ret=urlencode(post_data)#print(ret,type(ret))  #k1=v1&k2=v2 <class 'str'> 
08
2020
11

如何实现用户的登陆认证

#1.cookie session#2.token 登陆成功后生成加密字符串#3.JWT:json wed token缩写 它将用户信息加密到token中,服务器不保存任何用户信息#服务器通过使用保存的密钥来验证token的正确性 
08
2020
11

什么是跨域以及解决方法

#跨域:# 浏览器从一个域名的网页去请求另一个域名的资源时,浏览器处于安全的考虑,不允许不同源的请求#同源策略:#  协议相同#  域名相同#  端口相同#处理方法:# 1.通过JSONP跨域# JSON是一种数据交换格式# JSONP是一种非官方的跨域数据交互协议# jsonp是包含在函数调用中的json# script标签不受同源策略的影响,手动创建一个script标签,传递URL,同时传入一个回调函数的名字# 服务器得到名字后,返回数据时会用这个函数名来包裹住
08
2020
11

PV和UV

#1.pv:页面访问量,没打开一次页面PV计算+1,页面刷新也是#2.UV:独立访问数,一台电脑终端为一个访客
08
2020
11

给用户提供一个接口之前需要提前做什么

#1.跟前端进行和交互,确定前端要什么#2.把需求写个文档保存 
08
2020
11

rest_framework序列化组件的作用,以及一些外键关系的钩子方法

#作用:帮助我们序列化数据#1.choices  get_字段名_display#2.ForeignKey source=orm 操作#3.ManyToManyFiled  SerializerMethodField()#                    def get_字段名():#             &
08
2020
11

django rest framework如何实现的用户访问频率控制

#使用IP/用户账号作为键,每次的访问时间戳作为值,构造一个字典形式的数据,存起来,每次访问时对时间戳列表的元素进行判断,#把超时的删掉,再计算列表剩余的元素数就能做到频率限制了 #匿名用户:使用IP控制,但是无法完全控制,因为用户可以换代理IP登录用户:使用账号控制,但是如果有很多账号,也无法限制 
08
2020
11

简述 django rest framework框架的认证流程

#1.用户请求走进来后,走APIView,初始化了默认的认证方法#2.走到APIView的dispatch方法,initial方法调用了request.user#3.如果我们配置了认证类,走我们自己认证类中的authentication方法 
08
2020
11

django rest framework框架中的视图都可以继承哪些类?

#class View(object):#class APIView(View): 封装了view,并且重新封装了request,初始化了各种组件#class GenericAPIView(views.APIView):#1.增加了一些属性和方法,如get_queryset,get_serializer#class GenericViewSet(ViewSetMixin, generics.GenericAPIView)#父类ViewSetMixin 重写了as_view,返回return cs
08
2020
11

django rest framework框架中都有那些组件?

#1.序列化组件:serializers  对queryset序列化以及对请求数据格式校验#2.路由组件routers 进行路由分发#3.视图组件ModelViewSet  帮助开发者提供了一些类,并在类中提供了多个方法#4.认证组件 写一个类并注册到认证类(authentication_classes),在类的的authticate方法中编写认证逻#5.权限组件 写一个类并注册到权限类(permission_classes),在类的的has_permission方法中编写认