前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django中配置多个setting.py文件

Django中配置多个setting.py文件

作者头像
Hsinyan
发布2022-06-19 17:50:50
6500
发布2022-06-19 17:50:50
举报

项目在开发环境和实际的生产环境中,settings.py配置文件通常是不一样的,而且按照以往的开发经验来看,项目开发完成后settings.py通常存放着一些用户名与密码,所以需要对这些隐私配置项进行单独的配置。

修改settings文件路径

setting.py的上级目录创建一个Python package文件夹,直接新建文件夹也是ok的,不过要再新建一个__init__.py的声明文件。

然后将原始的settings.py文件移动至settings文件夹内,修改文件名为base.py,即基础设置(可以理解为开发环境和生产环境配置不变的项)。

此时如果直接使用python manage.py runserver命令会报错,因为manage.py里面定义了settings.py文件的默认路径,需要在manage.py里修改设置文件的路径,我这里是将meetingroom.settings 修改为 settings.base

代码语言:javascript
复制
def main():
    # 将meetingroom.settings修改为settings.base
    # os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meetingroom.settings')
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.base')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)

此时开启服务,就会默认调用settings文件夹下面的base.py的配置。

创建生产环境配置

settings文件夹下新建一个production.py文件,用于配置生产环境下的配置。

代码语言:javascript
复制
# production.py
from .base import *

# 通常使用nginx映射出去,所以只需要设置settings就行
ALLOWED_HOSTS = ['127.0.0.1']

DEBUG = False

# 更多请按需配置

此时运行python manage.py runserver --setting settings.production即可以生产环境的配置启动服务。

密码等隐私项配置

base.py中,将隐私项配置为None

代码语言:javascript
复制
...

LOCAL_TEST_USERNAME = None
LOCAL_TEST_PASSWORD = None

...

之后在本地配置文件local.py或其他配置文件中

代码语言:javascript
复制
from .base import *

TEST_USERNAME = 'hsinyan'
TEST_PASSWORD = 'root'

如此配置即可,可以避免测试环境的敏感信息泄露。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修改settings文件路径
  • 创建生产环境配置
  • 密码等隐私项配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com