目录
[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主要是数据库模型文件,我们可以通过类的形式 来代表每一张表 ,变量的形式 代表每一个字段,并且通过相关语法建立一对多、多对多等相关关系
主要是通过ORM来进行操作数据库的,通过操作类来执行SQL语句
ORM:Object-Relational Mapping , 对象关系映射 。它主要用于关系型数据库 和面向对象 之间的映射关系,使得我们可以通过操作面向对象的形式来操作数据库
3. 迁移数据库文件
创建完APP后,我们需要进行数据库的初始化,将Django与数据库之间建立映射关系
包括我们定义完数据库模型之后,我们都需要进行迁移
3.2 连接数据库
在进行数据库文件迁移之前,我们需要进行连接数据库:
- 进入settings.py
- 进行配置文件修改
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里面:
最终:
看,是不是比之前轻量很多了呢?
当我们需要什么组件的时候,我们再自己加回来。