为了账号安全,请及时绑定邮箱和手机立即绑定

Django REST framework前后端分离框架实践

  •  Restful API 规范

    查看全部
  • RESTFUL 最佳实践维度:


    查看全部
  • python manage.py migrate

    查看全部
  • python manage.py makemigrations

    查看全部
  • here, https://github.com/liaogx/drf-tutorial

    查看全部
  • DRF提供了几种permission level:


    如何在API level提供非全局的权限控制?

    类view:

    然而上面还是不够的,不能提供基于业务的精细化的权限控制。比如老师只能修改自己的课程信息,不能修改不是自己的课程的信息。


    本节后半段提供的是如何基于业务需要,自定义权限。从6:03开始的内容开始看

    查看全部
    0 采集 收起 来源:DRF的权限控制

    2022-03-15

  • Token Authentication

    需要在setting的installed 里添加'rest_framework.authtoken',
    这节就看看就好了。有些细节我觉得要看源码才能懂。而且正常也是用jwt,不用这个了。


    通过这种方式,认证成功的话,request.user 还是django的user,

    request.auth就变成了rest_framework.authtoken.models.Token

    如果认证失败,resp的header会多一个www-authenticate的field,成功是没这个fIeld的



    如何对不同的view提供不同的认证方式?而不是所有api的view都用同一个认证方式呢?

    function view:

    用@authentication_classes()

    class view/viewset:

    用 class property

    authentication_classses = (a,,b,c)

    查看全部
  • auth: 登录的用户能访问哪些资源,API

    authen: 对登录中的用户身份进行认证

    认证机制依赖于django.contrib.auth

    Django会按上面的列表顺序逐个尝试,并使用第一个成功通过的认证


    Basic: 密码认证。不建议用于Producrion。前端要用户输入密码后,会在header里加一个authorizaion field, 内容是一个bas64 加密的hash value 但是base 64可以被解密。所以不安全。


    使用Basic认证的话,如果通过了。会把下面的self.request.user设置成 contrib.auth.models.User

    self.request.auth 设置为none

    如何认证失败。会在response的header里多一个 WWW-authenticate的field  这个就是个规律。方便你debug


    Session认证:

    如果是post,put, 需要提供CSRF token。

    认证通过的话,如果通过了。会把下面的self.request.user设置成 contrib.auth.models.User

    self.request.auth 设置为none。

    认证失败的话会响应403 forbidden,但是response的header里不会多额外信息

    查看全部
  • 通用类视图简化了自己的代码。但是我觉得会让人觉得不清晰。因为hide details.

    查看全部
  • 这节谈了到底该如何选择view的写法,func, class, or generics, viewsets

    还有下面这些内容没有讲:

    DRF的运行机制,限流,缓存

    查看全部
    0 采集 收起 来源:课程总结

    2022-03-13

  • 这节回头再来看看。就是讲解了怎么用那个api doc

    查看全部
  • 本文demo了Postman里怎么用各种author。介绍了api key的形式和输入密码的形式。


    还demo了collection的含义,查看History, 如何保存某个request,如何添加request 到某个collections


    collections右键里可以设置这个collections的全局的authorization信息。这样就不用一个个copy token

    查看全部
  • drf的序列化器和django自带的有什么不同呢?


    drf自带的缺点是:

    1. 缺乏前端json数据的验证处理

    2. 验证器的参数

    3. 同时序列化多个对象

    4. 序列化过程中添加上下文,比如添加queryset中没有的数据到最后想返回的json里

    5. 没有对无效数据的异常处理

    查看全部
    0 采集 收起 来源:什么是序列化

    2022-03-10

  • 本节内容

    Django原生中是function base view 和class view2种。之前ins项目有用到。本节也有代码复习演示

    查看全部

举报

0/150
提交
取消
课程须知
1、熟练Python语法 2、有Django项目基础
老师告诉你能学到什么?
1、深入理解RESTful API 2、Django REST framework组件介绍 3、DRF中的序列化Serializers 4、Django的views开发API接口 5、DRF的多种视图api_view/APIView… 6、Django的URLs与DRF的Routers 7、使用DRF的API接口文档 8、API测试神器Postman 9、DRF的认证和权限

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!