基于Django创建一个WEB后端框架(DjangoRestFramework+MySQL)流程

一、Django项目初始化

1.创建Django项目

Django-admin startproject 项目名

2.安装 djangorestframework

pip install djangorestframework

解释:

Django REST Framework (DRF) 是基于 Django 框架的一个强大的 Web API 框架,提供了多种工具和库来构建 RESTful API。它为我们提供了许多开箱即用的功能,例如序列化、验证、文档化、渲染和视图,使我们能够快速构建出功能强大的 Web API。

3.注册应用app

INSTALLED_APPS 配置相当于注册了Django项目中需要使用的应用。通过将应用名称添加到 INSTALLED_APPS 列表中,Django会识别并加载这些应用,使其功能在项目中可用。

4.修改数据库配置

Django自带一个sqlite小型数据库但是其写操作是全数据库级别的锁,这意味着在同一时间只有一个写操作可以执行。对于高并发的写操作场景,性能会受到限制。我们将其切换至常规使用的Mysql数据库并在Mysql中创建对应的数据库

下面的一步是为了导入pymysql将pymysql适配为mysqldb的接口

二、构建模型

1.创建app

Python manage.py startapp appname

执行之后就会生成对应的app模块了

接着要在settings.py模块中注册app

2.创建模型

models.Model 是 Django 框架中的一个基类,所有自定义的模型类都需要继承它。通过继承 models.Model,Django 可以为你的模型提供一系列功能,例如将类映射到数据库表、自动管理数据库迁移、提供 ORM(对象关系映射)接口等。

3.创建数据迁移文件以及进行数据迁移(至数据库也就是通过定义上述模型类执行相关命令在数据库中建表)

Python manage.py makemigrations #创建数据迁移文件

Python manage..py migrate #进行数据迁移

命令执行成功之后数据库模型(表)就创建出来了

三、体验Django提供的管理界面 注册后的模型可以在管理界面上增删改查

我们可以通过DjangoRDF自带的增删改查的前端交互页面

步骤:

在app的admin.oy文件下输入图片中的代码片段 将Article注册到admin控制台当中

接着创建一个超级用户登录模型管理界面

Python manage.py createsuperuser

创建好之后运行项目

Python manage.py runserver 127.0.0.1:port port可以自己设置端口号

浏览器输入http://127.0.0.1:8000/admin/即可进入到管理界面

四、创建Restful风格api

1.创建api调用层

2.将请求映射文件注册到主URL配置当中

3.创建序列化器模块以便模型对象序列化后便于传输

4.创建接口并指定接口允许的请求方式

5.将接口注册到路由当中

这样一个接口就创建好可以正常调用了

测试一下

一个基本的Django后端框架就搭建好了

相关推荐
F_D_Z1 小时前
数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter
python·torchvision·transforms
程序新视界2 小时前
MySQL中,IS NULL和IS NOT NULL不会走索引?错!
数据库·mysql·dba
tao3556672 小时前
【Python刷力扣hot100】283. Move Zeroes
开发语言·python·leetcode
小宁爱Python3 小时前
从零搭建 RAG 智能问答系统1:基于 LlamaIndex 与 Chainlit实现最简单的聊天助手
人工智能·后端·python
简色3 小时前
题库批量(文件)导入的全链路优化实践
java·数据库·mysql·mybatis·java-rabbitmq
湖南人爱科技有限公司3 小时前
RaPhp和Python某音最新bd-ticket-guard-client-data加密算法解析(视频评论)
android·python·php·音视频·爬山算法·raphp
CS Beginner4 小时前
【Linux】Mysql的基本文件组成和配置
linux·运维·mysql
eqwaak04 小时前
数据预处理与可视化流水线:Pandas Profiling + Altair 实战指南
开发语言·python·信息可视化·数据挖掘·数据分析·pandas
心态特好5 小时前
详解WebSocket及其妙用
java·python·websocket·网络协议
dlraba8026 小时前
用 Python+OpenCV 实现实时文档扫描:从摄像头捕捉到透视矫正全流程
开发语言·python·opencv