新的一年启程,大家又投入到紧张的学习和工作中,作为一个互联网人必须时刻紧跟科技发展的脚步。对于大火的 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/)