django 默认生成的项目结构,当创建的app多了以后,看起来就会很乱,所以我做了一些调整
.
├── project001
│ ├── manage.py
│ ├── apps # 所有app放在这个目录下
│ │ ├── app1
│ │ │ ├── __init__.py
│ │ │ ├── admin.py
│ │ │ ├── apps.py
│ │ │ ├── models.py
│ │ │ ├── tests.py
│ │ │ ├── urls.py
│ │ │ └── views.py
│ │ ├── app2
│ │ ├── app3
│ ├── config # 这个目录是由 project001 改名而来,存的是django的配置
│ │ ├── __init__.py
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
└── pyproject.toml
配置文件里,INSTALLED_APPS加载app的时候,前面加个 apps
要修改 DJANGO_SETTINGS_MODULE 的值, 从 project001.settings 修改为 config.settings
通常我们可能会直接修改 settings.py 文件 里的变量, 比如
直接把 LANGUAGE_CODE
改成 "zh-hans"
, 等等 。。
直接修改有一个坏处,那就是 修改的地方多了, 看起来就会很乱
我目前的方法是,覆盖 settings.py 里的变量
我这样的好处是,当我需要的时候,我可以直接删除 覆盖的配置, 就可以恢复 到默认的配置
其实配置覆盖,还有更清爽的办法,那就是 直接在新文件里覆盖,步骤如下:
1、把原来的 settings.py
改名为 settings_default.py
2、新建一个 settings.py
文件, 在 settings.py
里,引用 settings_default.py
, 然后 覆盖变量,添加自己的配置
我现在创建django项目的步骤是:
1、django-admin startproject config (好处是不需要修改 manage.py 文件里的DJANGO_SETTINGS_MODULE 值)
2、 把外层的目录 config 改名为 项目名字, 比如改为 blog
3、 在blog目录下 创建目录 apps,用来存放各种 app
4、 django-admin startapp app1 , 然后把生成的目录,移动到 apps 目录下
5、 按照我前面说的步骤,根据需要 修改 settings.py 文件