当前位置: 首页 > news >正文

1、初识drf

drf的学习需要学习者有django基本使用知识。

文章目录

    • 什么是drf,有什么作用
    • CBV是什么
    • 初步使用
      • drf 下载以及django创建项目
      • django最小启动内容
        • 修改setting
        • 修改 url
      • 编写`drf视图`
      • 编辑url
      • 测试返回结果

什么是drf,有什么作用

  • drf(django rest-framework),让使用者更快捷的开发规范化的接口。
  • 提供了权限、身份验证、限流等实用功能。
  • 基于django CBV来实现的

CBV是什么

FBV是什么?
函数视图

def index(request):return HttpResponse("123")

CBV是什么?
类视图

class IndexView(View):def get(self, request):return HttpResponse("view get")

函数是代码的封装、类是函数的封装

初步使用

drf 下载以及django创建项目

pip install djangorestframework# 创建一个django项目
django-admin startproject drf1# 创建一个app
python manage.py startapp fbv

drf已经不需要,在setting的INSTALLED_APPS里面注册了。

django最小启动内容

修改setting

我们已将django内置的所有app、中间件、模版全部停用如下。这样会导致drf报错我们需要加如下代码

# 解决drf报错
REST_FRAMEWORK = {"UNAUTHENTICATED_USER": None,
}# 停用所有apps
INSTALLED_APPS = [# 'django.contrib.admin',# 'django.contrib.auth',# 'django.contrib.contenttypes',# 'django.contrib.sessions',# 'django.contrib.messages',# 'django.contrib.staticfiles','fbv',	# 注册我们自己的app
]# 停用所有内置中间件
MIDDLEWARE = [# 'django.middleware.security.SecurityMiddleware',# 'django.contrib.sessions.middleware.SessionMiddleware',   # session管理# 'django.middleware.common.CommonMiddleware',# 'django.middleware.csrf.CsrfViewMiddleware',  # CSRF验证机制、一般用于前后端不分离# 'django.contrib.auth.middleware.AuthenticationMiddleware',    # 身份验证中间件# 'django.contrib.messages.middleware.MessageMiddleware',      # 消息中间件# 'django.middleware.clickjacking.XFrameOptionsMiddleware',
]# 模版禁用
TEMPLATES = [#     {#         'BACKEND': 'django.template.backends.django.DjangoTemplates',#         'DIRS': [],#         'APP_DIRS': True,#         'OPTIONS': {#             'context_processors': [#                 'django.template.context_processors.debug',#                 'django.template.context_processors.request',#                 'django.contrib.auth.context_processors.auth',#                 'django.contrib.messages.context_processors.messages',#             ],#         },#     },
]
修改 url
# from django.contrib import admin
from django.urls import pathurlpatterns = [# path('admin/', admin.site.urls),
]

编写drf视图

from rest_framework.response import Response
from rest_framework.views import APIViewclass RFWView(APIView):def get(self, request):return Response("drf view get")

编辑url

from fbv.views import index, IndexView, RFWViewurlpatterns = [path('RFWView/', RFWView.as_view()),
]

测试返回结果

postman中请求 [http://127.0.0.1:8000/RFWView/](http://127.0.0.1:8000/RFWView/)地址返回结果为 drf view get

http://www.lryc.cn/news/331947.html

相关文章:

  • 速盾:cdn高防御服务器租用有哪些好处
  • 【跟小嘉学 Linux 系统架构与开发】四、文件和目录的权限
  • ubuntu18.04图形界面卡死,鼠标键盘失灵, 通过MAC共享网络给Ubuntu解决!
  • ESG认证(ESG=环境、社会和治理 Environmental, Social, and Governance)
  • Cesium Viewer 类学习
  • 第十四届省赛大学B组(C/C++)子串简写
  • 深入浅出 -- 系统架构之微服务架构
  • YoloV8改进策略:下采样改进|自研下采样模块(独家改进)|疯狂涨点|附结构图
  • Python从0到100(十):Python集合介绍及运用
  • 实用技巧:如何取消app的截屏禁用
  • 【氮化镓】GaN SP-HEMT的栅极可靠性
  • Linux基础和进阶用法
  • Linux运维-SHELL编程之正则表达式与流编辑处理器
  • openGauss学习笔记-256 openGauss性能调优-使用Plan Hint进行调优-优化器GUC参数的Hint
  • flex:1的作用是什么?
  • Mysql安装(命令方式安装)
  • Vben Admin实战-系统管理之用户管理-(第12节)
  • Oracle常规操作
  • 「33」如何让你的直播场景增加透视感?
  • Macbook文件清理软件 Mac电脑清理垃圾文件怎么清理
  • 【Java基础】Java基础知识整合
  • 构建集创建、售卖、转让于一体,且基于ERC721 token的NFT平台,从编写智能合约开始(Web3项目四实战之一)
  • 跨境金融区块链服务平台
  • 运筹学经典问题(八):CVRP和VRP-TW
  • AI与技术美术(TechArt)
  • 二叉树层序遍历 及相关题目
  • 【前端面试3+1】11 http和https有何不同及https的加密过程、数组有哪些方法及作用、tcp三次握手四次挥手、【分发饼干】
  • 替代 Redis 和 Memcached:25 倍吞吐量! | 开源日报 No.213
  • Qt与OpenCV实现图像模板匹配
  • OpenHarmony实战:CMake方式组织编译的库移植