1、Django请求生命周期
django的生命周期是:前端请求--->nginx--->uwsgi.--->中间件--->url路由---->view视图--->ORM---->拿到数据返回给view---->试图将数据渲染到模版中拿到字符串---->中间件--->uwsgi---->nginx---->前端渲染。
--》执行遵循wsgi协议的模块(socket服务端)
--》中间件(路由匹配)
--》视图函数(业务处理:ORM、模板渲染)
--》中间件
--》wsgi返回
2、什么是wsgi
web服务网关接口,实现该协议的模块:1- wsgiref 2- werkzurg(Flask) 3- uwsgi
3、视图
a、FBV —— url — 函数
b、CBV —— url — view
4、Django rest framework框架(10个)
- 版本/权限/认证/访问频率限制
- 序列化
- 路由
- 分页/解析器/渲染器
- 视图
面试题:你写的类都继承过哪些类?
class View(object):
class APIView(View):
class GenericAPIView(view.APIView):
class GenericViewSet(ViewSetMixin, generics.GenericAPIView):
class ModelViewSet(mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.DestroyModelMixin, mixins,ListModelMixin, GenericViewSet):
5、restful规范(10点)
常见method类型(GET/POST/PUT/DELETE/PATCH)
~~5.1.协议,推荐用https
~~5.2.根据请求方法method不同,进行不同操作。
~~5.3.在url上体现版本
~~5.4.体现是API
~~5.5.面向资源编程
~~5.6.请求中的条件
~~5.7.响应式设置状态码
~~5.8.请求方法的返回值,一定是json格式
~~5.9.返回错误信息
~~5.10.Hypermedia API
6、Http协议
--建立在Tcp协议上;
--一次请求一次响应然后断开连接(无状态、短连接)
--请求和响应(都是由两个\r\n分隔)
--》发送:请求头\r\n\r\n请求体
--》响应:响应头\r\n\r\n响应体
7、使用中间件做过什么
-内置:csrf、session
-自定义:登录认证、权限、cors
网友评论