07-课程说明与回顾

wupeiqi: https://www.cnblogs.com/wupeiqi/articles/7805382.html

1、课程说明

2、内容回顾

1. django请求生命周期

  -> 执行遵循wsgi协议的模块(socket服务端)
  -> 中间件(路由匹配)
  -> 视图函数(业务处理:ORM、模板渲染)
  -> 中间件
  -> wsgi返回

2. 什么wsgi

web服务网关接口
实现该协议的模块:
           - wsgiref
           - werkzurg
            - uwsig

3. 视图

- FBV
    url - 函数
- CBV
    url - view

4. djang rest framework

5. restful 规范(10)

  建议大家使用restful规范

什么是接口?
  - URL
  - 约束
    # 约束继承(实现)了他的类中必须含有IFoo中的方法
    interface IFoo:
    def func(self): pass


    class Foo(IFoo):
    def func(self):
      print(11111)

        1. 根据method不同,进行不同操作
            GET/POST/PUT/DELETE/PATCH
2. 面向资源编程,url为名词 http://www.luffycity.com/salary 3. 体现版本 http://www.luffycity.com/v1/salary http://www.luffycity.com/v2/salary https://v4.bootcss.com/ https://v3.bootcss.com/

4. 体现是API http://www.luffycity.com/api/v1/salary http://www.luffycity.com/api/v2/salary http://api.luffycity.com/v1/salary http://api.luffycity.com/v2/salary

5. https https://www.luffycity.com/api/v1/salary https://www.luffycity.com/api/v2/salary 6. 响应式设置状态码 200 300 400 500 return HttpResponse('adfasdf',status=300) 7. 条件 https://www.luffycity.com/api/v2/salary?page=1&size=10 8. 返回值 https://www.luffycity.com/api/v2/salary GET: 所有列表 { code: 10000, data: [ {'id':1,'title':'高亮'}, {'id':1,'title':'龙泰'}, {'id':1,'title':'小东北'}, ] } POST: 返回新增的数据 {'id':1,'title':'高亮'} https://www.luffycity.com/api/v2/salary/1/ GET: 获取单条数据 {'id':1,'title':'高亮'} PUT:更新 所有数据都更新,比如10个字段都更新 {'id':1,'title':'高亮'} PATCH: 局部更新 只更新2个字段 {'id':1,'title':'高亮'} DELETE:删除
9. 返回错误信息 { code: 100001, error: 'xxx错误' } 以code返回码,公共错误码 https://docs.open.alipay.com/common/105806 10. Hypermedia API 点击查看详细。 ret = { code: 1000, data:{ id:1, name:'小强', depart_id:http://www.luffycity.com/api/v1/depart/8/ } }

6. django rest framework框架(10)

        - 权限
        - 认证
        - 访问频率限制
        - 序列化
        - 路由 
        - 视图
            面试题:你的写的类都继承过哪些类?
                class View(object):
                
                class APIView(View):
                
                class GenericAPIView(views.APIView):
                
                class GenericViewSet(ViewSetMixin, generics.GenericAPIView)
                
                class ModelViewSet(mixins.CreateModelMixin,
                       mixins.RetrieveModelMixin,
                       mixins.UpdateModelMixin,
                       mixins.DestroyModelMixin,
                       mixins.ListModelMixin,
                       GenericViewSet):
        - 分页 
        - 解析器
        - 渲染器
        - 版本 

1111

原文地址:https://www.cnblogs.com/venicid/p/11594741.html