Python - Django 多套settings
Max.Bai
2019-08
0x00: 背景
Django里面有个settings文件,里面是Django的各种配置,开发过程中可能遇到过生产环境和开发环境的配置不一样,需要本地修改又不想上传,怎么办?
最好的办法就是创建多套settings。
假设我们的项目叫HATP,方便下面的内容描述。
0x01: 创建多个settings
怎么创建,最简单的办法就是复制一个,改个名字,比如settings_dev.py.
通常都是在settings文件的同级目录创建一个settings目录,然后在目录里面放上__init__.py, 然后在settings目录里面放多个配置文件,比如online.py, dev.py等等。
然后就可以删除原来的settings.py文件了。
0x02: 影响了那些命令?
创建比较简单,使用就复杂了,默认Django是读取HATP.settings 配置文件的,我们修改了配置文件的路径,默认是读取不到了。
影响manage.py 里面的所有命令,比如runserver, makemigrations, migrate 等。
除了manage.py 之外,其他的第三放的工具可能也有影响,比如Celery启动worker的时候。
0x03: 怎么使用
manage.py 涉及到的直接添加 --settings=HATP.settings.dev (修改为你自己的配置文件) 就可以指定特定的配置文件。
举个栗子:
makemigrations
python3 manage.py makemigrations --settings=HATP.settings.dev
麻烦的话可以直接写好命令,放到bat或者sh文件里面