如何创建纯净版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里面:

最终:

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

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

相关推荐
Tanecious.1 小时前
机器视觉--python基础语法
开发语言·python
ALe要立志成为web糕手1 小时前
SESSION_UPLOAD_PROGRESS 的利用
python·web安全·网络安全·ctf
战族狼魂1 小时前
CSGO 皮肤交易平台后端 (Spring Boot) 代码结构与示例
java·spring boot·后端
Tttian6222 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
杉之3 小时前
常见前端GET请求以及对应的Spring后端接收接口写法
java·前端·后端·spring·vue
蹦蹦跳跳真可爱5893 小时前
Python----机器学习(KNN:使用数学方法实现KNN)
人工智能·python·机器学习
hycccccch3 小时前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq
独好紫罗兰4 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法
bobz9654 小时前
k8s 怎么提供虚拟机更好
后端
bobz9654 小时前
nova compute 如何创建 ovs 端口
后端