新的一年启程,大家又投入到紧张的学习和工作中,作为一个互联网人必须时刻紧跟科技发展的脚步。对于大火的 Python 编程语言我们怎么能错过,我们【51Reboot】这就为大家带来新年的第一堂 Python 免费公开课。

主题:Django Rest Framework

大纲

  • Django-rest-framework是什么?
  • 序列化
  • 请求和响应
  • 类视图
  • 认证
  • 权限

主讲师:Monkey

  • 3 年 Python 语言开发经验
  • 从事自动化运维相关工作
  • Python & Gopher 热衷粉
    ##视频版

链接:https://pan.baidu.com/s/1elpgOu 密码:xi3d

Django rest framework 是什么?

Django REST 框架是一个用于构建 Web API 的功能强大且灵活的工具包。

特点:

  • Web 浏览器 API
  • 身份认证策略及权限
  • 序列化
  • 函数视图及类视图
  • 统一的异常处理
  • 自动生成 API 文档信息
  • 文档和良好的社区支持
  • .......

要求

Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6)

Django (1.10, 1.11, 2.0)

Web 浏览器 API

使用场景

前后端分离

序列化

  • serializers.Serializer
  • serializers.ModelSerializer
  • serializers.HyperlinkedModelSerializer

请求

  • request.POST

    Only handles form data. Only works for 'POST' method.
  • request.data

    Handles arbitrary data. Works for 'POST', 'PUT' and 'PATCH' methods.

    响应

  • Response
    
    data: 响应的序列化数据。

status:响应的状态码。默认为200.另请参阅状态代码

......


* status

HTTP_200_OK
HTTP_403_FORBIDDEN
HTTP_404_NOT_FOUND
HTTP_500_INTERNAL_SERVER_ERROR
......

## 类视图class-based-views* APIView
* mixins
* generics## 认证* 查询 Token

curl -X post http://127.0.0.1/api-token-auth/ -d username=monkey -d password=monkey123

* Token 登录认证

authentication_classes = (TokenAuthentication, )

## 权限权限列表* AllowAny
* IsAdminUser
* IsAuthenticated
* IsAuthenticatedOrReadOnly
* DjangoMOdelPermissions
* DjangoModelPermissionsOrAnonReadOnly
* DjangoObjectPermissions权限认证

permission_classes = (IsAuthenticated,)


## 验证权限

curl http://127.0.0.1/accounts/ -H 'Authorization: Token 48386f45403c308ba1b2575c546f498c5580efed'


## 学习资料官方网站www.django-rest-framework.org/ (http://www.django-rest-framework.org/)本文转自 xjtuhit 51CTO博客,原文链接:http://blog.51cto.com/51reboot/2077412

Django Rest Framework相关推荐

  1. 03 Django REST Framework 视图和路由

    01-DRF中的request 在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等. 比如,区别 ...

  2. Django REST framework 简介

    1.在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的. 2.在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增.删.改. ...

  3. Django REST framework API 指南(2):响应

    Django REST framework API 指南(1):请求 Django REST framework API 指南(2):响应 Django REST framework API 指南(3 ...

  4. Django REST framework API 指南(12):验证器

    官方原文链接 本系列文章 github 地址 转载请注明出处 验证器 大多数情况下,您在 REST framework 中处理验证时,只需依赖默认的字段验证,或者在序列化类或字段类上编写明确的验证方法 ...

  5. Django REST framework的一些奇巧淫技(干货!!!)

    开始之前,假设你已经有Django和Django REST framework的一些基础了 mixins,ViewSet和routers配合使用 minxis的类有5种 CreateModelMixi ...

  6. Django REST framework快速入门

    1)简介: 接口使用REST framework,REST framework是一套基于Django 的 REST 框架,是一个强大灵活的构建 Web API 的工具包. 写接口三步完成:连接数据库. ...

  7. Django REST framework 1

    Django REST framework Django REST framework官方文档:点击  中文文档:点击 安装djangorestframework:pip3 install djang ...

  8. Django REST framework的各种技巧——1.基础讲解

    写在最上面的话 django是一个神奇的框架,而restframework又是遵循了这个框架的另一个神奇的框架,然而由于restframework的文档稀烂无比,很多时候你必须看源码才能写出科学的代码 ...

  9. 在django restful framework中设置django model的property

    众所周知,在django的model中,可以某些字段设置@property和setter deleter getter,这样就可以在存入数据的时候进行一些操作,具体原理请参见廖雪峰大神的博客https ...

最新文章

  1. 201621123057 《Java程序设计》第12周学习总结
  2. 马斯克炮轰元宇宙与Web3.0:“我不觉得有人会成天把屏幕绑在脑袋上”
  3. java 两个窗口 贴_求助Java窗口菜单如何实现复制粘贴剪切等功能(内附源代码)...
  4. 计算方法之迭代法求方程根
  5. 运维测试工作笔记0004---各种免费开源的测试平台
  6. 2017年商业智能的6大趋势
  7. JAVA学习笔记——JAVA基础语法(二)
  8. 【Spring-tx】关于spring事务的思考
  9. .NET Core部署到linux(CentOS)最全解决方案,进阶篇(Supervisor+Nginx)
  10. Project(9)——收货地址 -查看列表
  11. 弘辽科技:掌握淘宝直通车的工作原理很有必要!其核心是什么?
  12. MySQL函数 if 的使用
  13. MQTT设置retained的作用
  14. 六大云计算厂商南山论剑,收下这封英雄帖!
  15. 佛祖保佑永无BUG 代码 (各种样式)
  16. 论文分享 CFUN: Combining Faster R-CNN and U-net Network for Efficient Whole Heart Segmentation
  17. 电源管理芯片TMI6201A,助力电池供电系统超长续航更有价值!
  18. 基于Cycle Spinning的移不变小波去噪
  19. Kinect结合Unity3D引擎开发体感游戏(二)
  20. vue基础1--脚手架的使用与vue基础指令

热门文章

  1. UA MATH567 高维统计II 随机向量2 各向同性的随机向量
  2. UA SIE545 优化理论基础1 凸分析1 线性流形与超平面
  3. DirectX Shader 入门学习
  4. arcgis 卸载和注册表相关总结
  5. element隐藏组件滚动条scrollbar使用
  6. kubernetes实战篇之通过api-server访问dashboard
  7. Codeforces 1175E Minimal Segment Cover 倍增
  8. bzoj 4945: [Noi2017]游戏
  9. ps命令显示uid而不是用户名的解决方法
  10. node.js Web应用框架Express入门指南