django settings.py拆分为目录

把settings.py拆分为目录是为了方便区分不同的环境,从而方便调试

我最终把settings.py拆分为了以下几个文件

django settings.py拆分为目录_第1张图片

base中包含的是最基本的配置

local中包含的是开发环境使用的变量,如DEBUG=True

prod中包含的是生产环境使用的变量,如DEBUG=False

这样在把代码上传到服务器之后只需要根据环境变量就能知道使用的是哪个变量了,而不用每次都去修改代码

拆分步骤如下:

1、在settings.py目录下创建settings文件夹,并创建__init__.py文件

2、把settings.py剪切到settings文件夹中,并重命名为base.py

3、修改base.py


BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
修改为
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(os.path.join(__file__, os.pardir))))

4、把本地环境和生产环境需要区分的变量分别放到local.py中和prod.py中

5、修改manage.py

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'YOUR-PROJECT-NAME.settings')
修改为
profile = os.environ.get('PROJECT_PROFILE', 'develop')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'YOUR-PROJECT-NAME.settings.%s' % profile)

6、修改manage.py
 

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'YOUR-PROJECT-NAME.settings')
修改为
profile = os.environ.get('PROJECT_PROFILE', 'develop')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'YOUR-PROJECT-NAME.settings.%s' % profile)

Pycharm配置

1、编辑配置

指定为settings.local

django settings.py拆分为目录_第2张图片

2、解决Tools中Run manage.py Task消失的问题

django settings.py拆分为目录_第3张图片

打开菜单中File→Settings,指定local.py文件

django settings.py拆分为目录_第4张图片

你可能感兴趣的:(django)