如何创建纯净版Django项目并启动?——让Django更加简洁

目录

[1. Django的基本目录结构](#1. Django的基本目录结构)

[2. 创建APP](#2. 创建APP)

[2.1 创建app](#2.1 创建app)

[2.2 配置文件介绍](#2.2 配置文件介绍)

[3. 迁移数据库文件](#3. 迁移数据库文件)

[3.2 连接数据库](#3.2 连接数据库)

[3.1 创建迁移文件](#3.1 创建迁移文件)

[3.2 同步数据库](#3.2 同步数据库)

[4. 纯净版Django创建](#4. 纯净版Django创建)

[4.1 剔除APP](#4.1 剔除APP)

[4.2 剔除中间件](#4.2 剔除中间件)

[4.3 剔除模板引擎](#4.3 剔除模板引擎)

[5. 最终](#5. 最终)


1. Django的基本目录结构

在我们创建Django项目之后,我们会看到以下这种的初始化项目结构

但只有这样的项目结构,我们是无法进行编写项目的

于是,就有了APP这个概念:

APP:主要用于业务功能模块的开发

2. 创建APP

2.1 创建app

我们打开终端,并输入如下命令:

python 复制代码
python manage.py startapp app01 

# python manage.py  是固定的,代表python脚本,主要用于django中的项目管理
# startapp   创建app
# app01   你的app名字,也就是功能模块名称

2.2 配置文件介绍

尤其要说一下的就是models.py:

models主要是数据库模型文件,我们可以通过类的形式 来代表每一张变量的形式 代表每一个字段,并且通过相关语法建立一对多、多对多等相关关系

主要是通过ORM来进行操作数据库的,通过操作类来执行SQL语句

ORM:Object-Relational Mapping , 对象关系映射 。它主要用于关系型数据库面向对象 之间的映射关系,使得我们可以通过操作面向对象的形式来操作数据库

3. 迁移数据库文件

创建完APP后,我们需要进行数据库的初始化,将Django与数据库之间建立映射关系

包括我们定义完数据库模型之后,我们都需要进行迁移

3.2 连接数据库

在进行数据库文件迁移之前,我们需要进行连接数据库:

  1. 进入settings.py
  2. 进行配置文件修改

3.1 创建迁移文件

我们需要先同步Django中自带的一些数据库文件:

python 复制代码
python manage.py makemigrations

当然,我们在执行这个操作的时候,可能会遇到这个问题:

大概意思就是缺少mysql的引擎模块,我们pip install mysqlclient就行了

3.2 同步数据库

生成迁移文件之后,我们可以继续执行指令,并同步到mysql中去

python 复制代码
python manage.py migrate

看到一大堆ok就行啦

4. 纯净版Django创建

当然,你会发现数据库中多出了好多表:

其实很多表,有时候我们是用不上的,这导致Django变得臃肿,会比flask重量很多

于是,创建纯净版Django对我们来说,可以做得更加轻量化

Django纯净和Flask等轻量级框架的对比:

  • Flask,一个py文件项目,基于蓝图项目创建结构化。
  • Django,默认的配置,剔除 好几个文件。

4.1 剔除APP

我们进入到settings里面去:

可以看到有一行INSTALLED_APPS

这是django所安装的APP应用,在django加载的时候,会应用这些APP。现在我们来看看这些app:

上面有一些配置文件我们平时不需要用到的:比如admin,我们会单独写后台管理。或者auth,我们也做自定义认证组件。

所以某些app我们可以直接进行注释:

4.2 剔除中间件

当然,除了app剔除之后,我们所对应的中间件也是需要剔除的

中间件:Django中的一大组件,主要用于请求或响应之前、之后做的一些处理。相当于一个装饰器,额外处理请求。

4.3 剔除模板引擎

在模板引擎中,也有配置与APP相关,同样也要处理掉:

模板引擎:Django中用于配置模板的设置选项,用于生成HTML的工具,可以将动态数据加载到静态HTML中。

5. 最终

于是,我们重新执行一次迁移(当然,之前的数据库文件和迁移文件都需要删除):

注意:

这个也是与admin相关的,也需要注释掉

urls.py里面:

最终:

看,是不是比之前轻量很多了呢?

当我们需要什么组件的时候,我们再自己加回来。

相关推荐
paopaokaka_luck6 分钟前
[371]基于springboot的高校实习管理系统
java·spring boot·后端
傻啦嘿哟43 分钟前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
B站计算机毕业设计超人1 小时前
计算机毕业设计SparkStreaming+Kafka旅游推荐系统 旅游景点客流量预测 旅游可视化 旅游大数据 Hive数据仓库 机器学习 深度学习
大数据·数据仓库·hadoop·python·kafka·课程设计·数据可视化
捂月1 小时前
Spring Boot 深度解析:快速构建高效、现代化的 Web 应用程序
前端·spring boot·后端
IT古董1 小时前
【人工智能】Python在机器学习与人工智能中的应用
开发语言·人工智能·python·机器学习
湫ccc2 小时前
《Python基础》之pip换国内镜像源
开发语言·python·pip
瓜牛_gn2 小时前
依赖注入注解
java·后端·spring
hakesashou2 小时前
Python中常用的函数介绍
java·网络·python
菜鸟的人工智能之路2 小时前
极坐标气泡图:医学数据分析的可视化新视角
python·数据分析·健康医疗
菜鸟学Python2 小时前
Python 数据分析核心库大全!
开发语言·python·数据挖掘·数据分析