REST framework 简介

作用

Django Rest Framework 是一个强大且灵活的工具包,用以构建Web API

Django REST Framework可以在Django的基础上迅速实现API,并且自身还带有WEB的测试页面,可以方便的测试自己的API

Web项目的两种模式

  • 前后端不分离

 在前后端不分离的引用模式中,前端页面看到的效果都是由后端控制的,由后端页面渲染或者重定向(每次返回时都是使用render 或者redirect来返回的,需要带上HTML页面和参数),也就是后端需要控制前端的展示,前端与后端的耦合度很高,这种模式比较适合纯网页应用,但是后端对接APP时,App可能并不需要后端返回一个HTML网页,二仅仅是数据本身,所以后端原本返回网页的接口不在适用前端APP应用,为了对接APP后端嗨需再开发一套接口。

  • 前后端分离

在前后端分离的应用模式中,后端仅返回前端所需要的数据,不再渲染HTML页面,不再控制前端的效果,只要前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页自己的处理方式,APP有APP的处理方式,但无论哪种前端所需要的数据基本相同,后端仅需开发一套逻辑对外提供数据即可,在前后端分离的应用模式中,前端与后端的耦合度相对较低

在前后端分离的应用模式中,我们通常将后端开发的每一视图都成为一个接口,或者API,前端通过访问接口来对数据进行增删改查

若项目是前后端分离的就可以用到Django Rest Framework

使用

  • 安装
 pip3 install djangorestframework
  • 注册
在settings.py中注册
app:INSTALLED_APPS = [
    ...,
    'rest_framework'
] 


# 国际化配置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False

框架风格

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.request import Request
from rest_framework.serializers import Serializer
from rest_framework.settings import APISettings
from rest_framework.filters import SearchFilter
from rest_framework.pagination import PageNumberPagination
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.throttling import SimpleRateThrottle
​
class Test(APIView):
    def get(self, request, *args, **kwargs):
        return Response('drf get ok')

 

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django Rest Framework是一个用于构建Web API的强大框架。它可以帮助我们快速开发和管理API接口,并提供了许多有用的功能和工具。安装Django Rest Framework的方法是使用pip3命令进行安装,例如:pip3 install djangorestframework。在项目的settings.py文件中注册Django Rest Framework应用,将'rest_framework'添加到INSTALLED_APPS列表中。此外,还需要进行一些国际化和时区的配置,例如设置LANGUAGE_CODE为'zh-hans',TIME_ZONE为'Asia/Shanghai',并设置USE_I18N为True,USE_L10N为True,USE_TZ为False。你可以使用Django Rest Framework提供的许多功能和组件,如APIView用于定义API视图类,Response用于返回响应数据,Serializer用于定义序列化器,APISettings用于配置API设置,SearchFilter用于搜索过滤,PageNumberPagination用于分页,TokenAuthentication用于身份认证,IsAuthenticated用于权限控制,SimpleRateThrottle用于请求限制等。 Django Rest Framework还支持自定义返回方式,可以根据自己的需求来设计返回的数据格式。它是一个非常方便和强大的框架,特别适用于前后端分离的应用模式,通过定义API接口,可以使前端和后端的交互更加简单和高效。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [REST framework 简介](https://blog.csdn.net/Waller_/article/details/104292515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [django rest framework 自定义返回方式](https://download.csdn.net/download/weixin_38629274/12849864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [【rest_framework】入门教程 | 虚拟环境](https://blog.csdn.net/qq_42438771/article/details/107964290)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值