码迷,mamicode.com
首页 > 其他好文 > 详细

Django Rest Framework

时间:2018-03-02 15:40:24      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:python   Django   

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

Django Rest Framework

标签:python   Django   

原文地址:http://blog.51cto.com/51reboot/2077412

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!