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

1.DRF 环境安装与配置

文章目录

  • 一. Django Rest_Framework
  • 二、环境安装与配置
    • 2.1 安装 DRF
    • 2.2 创建Django项目
    • 2.3 添加 rest_framework 应用
  • 三、启动项目

一. Django Rest_Framework

核心思想:大量缩减编写 api 接口的代码

Django REST framework 是一个建立在 Django 基础之上的 Web 应用开发框架,可以快速的开发 REST API 接口应用。在 REST framework 中,提供了序列化器 Serializer 的定义,可以帮助我们简化序列化与发序列化的过程,不仅如此,还提供了丰富的类视图、扩展类、视图集来简化视图编写工作。REST framework 还提供了认证、权限、限流、过滤、分页、接口文档等功能支持。RSET framework 提供了一个 Web 可视化界面来方便查看测试接口。
在这里插入图片描述
中文文档:https://q1mi.github.io/Django-REST-framework-documentation/#django-rest-framework

github: https://github.com/encode/django-rest-framework/tree/master

特点

  • 提供了定义序列化器 Serializer 的方法,可以快速根据 Django ORM 或者其他库自动序列化/反序列化
  • 提供了丰厚的类视图、Mixin 扩展类,简化视图的编写
  • 丰富的定制层:函数视图、类视图、视图集合到自动生成 API,满足各种需要
  • 多种身份认证和权限认证方式的支持
  • 内置了限流系统
  • 直观的 API web 界面
  • 可扩展性,插件丰富

二、环境安装与配置

DRF 需要以下依赖:

  • Python(3.5以上)
  • Django(2.2以上)

DRF 是Django 子应用的方式提供的,所以我们可以直接利用已有的 Django 环境而无需从新创建。(若没有 Django环境,需要先创建环境安装 Django)

2.1 安装 DRF

pip install Django==3.2.4
pip install djangorestframework==3.12.4
pip install PyMySQL==1.1.1

注意

  • Django 版本和 DRF 版本之间有依赖

2.2 创建Django项目

django-admin startproject drfdemo

2.3 添加 rest_framework 应用

settings.pyINSTALLED_APPS中添加’rest_framework’。

INSTALLED_APPS = [...'rest_framework',
]

接下来就可以使用 DRF 提供的功能进行 api 接口开发。在项目中如果使用 rest_framework 框架来实现 API 接口,主要有以下三个步骤:

  • 将请求数据(如 JSON 格式)转化为模型类对象
  • 操作数据库
  • 将模型类对象转换为响应的数据(如 JSON格式)

配置数据库连接并初始化 pymysql

settings.py代码

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': "students","HOST": "127.0.0.1","PORT": "3306","USER": "root","PASSWORD": "123456",}
}

drfdemo.__init__.py 文件下添加代码

# 适配连接数据库报错
import pymysql
pymysql.install_as_MySQLdb()

三、启动项目

python manager.py runserver
http://www.dtcms.com/a/302369.html

相关文章:

  • 基于springboot的编程训练系统设计与实现(源码+论文)
  • EMQX Webhook 调用本地 Supabase Edge Functions
  • 3.DRF视图和路由
  • JAVA后端开发——“全量同步”和“增量同步”
  • [AI Coding] 一.腾讯CodeBuddy IDE内测、安装及基本用法(国产AI IDE启航)
  • 使用node-cron实现Node.js定时任务
  • Office-PowerPoint-MCP-Server – 基于MCP的开源PPT生成与编辑工具
  • 每日面试题16:什么是双亲委派模型
  • DBSyncer:开源免费的全能数据同步工具,多数据源无缝支持!
  • 代码随想录day48单调栈1
  • Python全栈项目--基于深度学习的视频内容分析系统
  • html转word下载
  • 【GitHub Workflows 基础(二)】深入理解 on、jobs、steps 的核心语法与执行逻辑
  • Dify快速搭建问答系统
  • 3、CC3200串口DMA
  • Binary Classifier Optimization for Large Language Model Alignment
  • 亚远景-“过度保守”还是“激进创新”?ISO/PAS 8800的99.9%安全阈值之争
  • Windows 11 系统 Docker详细安装教程并集成使用 Redis 官方详细教程
  • uniapp,uview icon加载太慢了,老是显示叉叉,将远程加载改到本地加载。
  • LangGraph实战:整合MCP(本地模式
  • 机器学习sklearn:不纯度与决策树构建
  • 数据中心入门学习(四):服务器概述与PCIe总线
  • 【学习笔记】AD7708/18(1)-理解官网的参考代码
  • python每日一题
  • 如何在 Apache Ignite 中创建和使用自定义 SQL 函数(Custom SQL Functions)
  • 生物信息学数据技能-学习系列001
  • 牛客网之华为机试题:坐标移动
  • 利用径向条形图探索华盛顿的徒步旅行
  • 数据分析干货| 衡石科技可视化创作之仪表盘控件如何设置
  • 开源智能体-JoyAgent集成ollama私有化模型