zoukankan      html  css  js  c++  java
  • Django REST framework简介

    Django REST framework介绍

    介绍

    现在前后端分离的架构设计越来越流行,业界甚至出现了API优先的趋势。
    显然API开发已经成为后端程序员的必备技能了,那作为Python程序员特别是把Django作为自己主要的开发框架的程序员,十分推荐Django REST framework(DRF)这个API框架。
     
    Django REST framework(DRF)框架文档齐全,社区较稳定,而且由于它是基于Django这个十分全面的框架而设计开发的,能够让开发者根据自己的业务需要,使用极少的代码量快速的开发一套符合RESTful风格的API,并且还支持自动生成API文档。
     
    Django REST framework(DRF)官网:http://www.django-rest-framework.org/
    老男孩讲师李文周正在翻译的官方文档:https://q1mi.github.io/Django-REST-framework-documentation/

    为什么要用?

    1. 前后端分离的业务需要搭建API
    2. 基于Django快速开发RESTful API

    RESTful API规范是什么?

    1. GET(SELECT)   :从服务器取出资源(一项或多项)。
    2. POST(CREATE):在服务器新建一个资源。
    3. PUT(UPDATE)   :在服务器更新资源(客户端提供改变后的完整资源)。
    4. PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
    5. DELETE(DELETE):从服务器删除资源。
    6. HEAD  :获取资源的元数据。
    7. OPTIONS  :获取信息,关于资源的哪些属性是客户端可以改变的。

    restful协议

    互联网一切皆是资源,操作动词只是请求方式

    例如:

    # book表增删改查
    /books/ books
    /books/add/ addbook
    /books/(d+)/change/ changebook
    /books/(d+)/delete/ delbook

    改成restful协议的样子,请求方式代表动作:

    #book表增删改查
    /books/       -----get       Books       -----  返回当前所有数据
    /books/       -----post      Books       -----  返回提交数据 
    
    /books/(d+)  -----get       Bookdetail  -----  返回当前查看的单条数据
    /books/(d+)  -----put       Bookdetail  -----  返回更新数据 
    /books/(d+)  -----delete    Bookdetail  -----  返回空

    class:

     class  Books(View):
          def get(self,request):
              pass  # 查看所有书籍
              
          def post(self,request):
              pass  # 添加书籍
              
              
     class  BooksDetail(View):
          def get(self,request,id):
              pass  # 查看具体书籍
     
          def put(self,request,id):
              pass  # 更新某本书籍
              
          def delete(self,request,id):
              pass  # 删除某本书籍      

    快速实例

    下载

    pip install djangorestframework

    安装

    djangorestframework是一个组件,所以需要在settings里安装一下

    INSTALLED_APPS = (
        ...
        'rest_framework',
    )
  • 相关阅读:
    Python 企业面试题集锦之Python基础
    Jmeter 线程之间传递参数
    Jmeter 5.1参数化csv引入文件
    Jmeter 5.1命令行执行bat文件
    Idea JAVA項目的导入JAR包和导出jar包
    charles 设置弱网测试
    Jmeter_Beanshell 返回值中提取参数值
    在Notepad++里配置python环境
    python json格式参数遍历所有key、value 及替换key对于的value
    python 使用yaml模块
  • 原文地址:https://www.cnblogs.com/lxfpy/p/10971961.html
Copyright © 2011-2022 走看看