zoukankan      html  css  js  c++  java
  • Django rest-framework框架十大功能分析

    rest-framework框架有哪些作用?

    一共有十点。

    路由 

    - 可以通过as_view传参数,根据请求方式不同执行相应的方法
    - 可以在url中设置一个结尾,类似于: .json

    视图

    - 帮助开发者提供了一些类,并在类中提供了多个方法以供我们使用。

    版本

    - 在url中设置version参数,用户请求时候传入参数。在request.version中获取版本,根据版本不同做不同处理

    认证

    - 写一个类并注册到认证类,在类的的authticate方法中编写认证逻辑。
    - 认证成功 返回一个元组(user,auth)
    - 认证失败 raise AuthticateFaild(....)
    - None 匿名

    权限

    - 写一个类并注册到权限类,在类的的has_permission方法中编写认证逻辑。
    - True 有权限
    - False 没有权限

    频率限制

    - 写一个类并注册到频率类,在类的的 allow_request/wait 方法中编写认证逻辑。
    allow_request
    - True
    - False 如果返回False,那么就要执行wait (等待)

    解析器

    - 根据ContentType请求头,选择不同解析器对 请求体中的数据进行解析。

    POST /index/ http1.1.
    host:11.11.11.11
    Content-Type:url-formendo.... 
    
    user=alex&age=123
    POST /index/ http1.1.
    host:11.11.11.11
    Content-Type:application/json
    
    {....} 

    分页

    - 对从数据库中获取到的数据进行分页处理: SQL -> limit offset

    - 根据页码:http://www.luffycity.com/api/v1/student/?page=1&size=10
    - 根据索引:http://www.luffycity.com/api/v1/student/?offset=60&limit=10
    - 根据加密:http://www.luffycity.com/api/v1/student/?page=erd8

    序列化

    - 对queryset序列化以及对请求数据格式校验。

     渲染器

    - 根据URL中传入的后缀,决定将数据如何渲染到页面上。

    根据Django请求声明周期,执行顺序:

    路由-->视图-->版本-->认证-->权限-->频率-->解析器-->序列化-->分页-->渲染

    出现这种问题:

    如何解决?

    setting.py

  • 相关阅读:
    面向对象程序设计课第五次作业
    面向对象程序设计课第三次作业
    MeasureSpec 解析
    JavaWeb学习总结(一)JavaWeb入门与Tomcat
    Redis GetTypedClient
    Visual Studio Entity Framework (EF) 生成SQL 代码 性能查询
    EF 连接MySQL 数据库  保存中文数据后乱码问题
    VS2015 +EF6 连接MYSQL数据库生成实体
    WebConfig 自定义节点configSections配置信息
    docker菜鸟入门
  • 原文地址:https://www.cnblogs.com/gaoya666/p/9101068.html
Copyright © 2011-2022 走看看