zoukankan      html  css  js  c++  java
  • Django 项目配置拆分独立

    Django 项目中,我们默认的配置是都在 settings.py 文件里面的,但是实际本地调试和线上应该是需要两个环境的,我们现在来拆分下配置。将配置拆分开来。

    一、创建配置目录

    我们在项目的跟路径下创建一个config 目录

    二、创建基础配置文件

    config 配置下 创建 base.py 文件,然后将原来 settings.py 文件内容拷贝过来。

    三、创建各个环境的配置

    注意我是把一些配置提取出来了,如果我们在 环境配置中加了的配置,在 base 中就不需要加了

    创建 dev.py

    from .base import * # 注意这个必须加,这个是将base 的配置导入
    
    DEBUG = True
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': "ops",
            "HOST": "127.0.0.1",
            "PORT": 3306,
            "USER": "root",
            "PASSWORD": "",
        },
    }
    ALIYUN_SECRETID = '123'
    

    创建 prod.py

    from .base import * # 注意这个必须加,这个是将base 的配置导入
    DEBUG = False
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': "ops",
            "HOST": "127.0.0.1",
            "PORT": 3306,
            "USER": "ops",
            "PASSWORD": "",
        },
    }
    ALIYUN_SECRETID = '123'
    

    四、调整settings.py

    将settings.py 原有的配置替换成下面的内容。

    DJANGO_CONF_MODULE = 'config.{env}'.format(env='dev')
    
    try:
        _module = __import__(DJANGO_CONF_MODULE, globals(), locals(), ['*'])
    except ImportError as e:
        raise ImportError("Could not import config '%s' (Is it on sys.path?): %s"
                          % (DJANGO_CONF_MODULE, e))
    
    for _setting in dir(_module):
        if _setting == _setting.upper():
            locals()[_setting] = getattr(_module, _setting)
    

    上面配置是默认使用 dev 的配置。 假设我们要使用prod 的配置,就将 dev 替换成 prod

    五、程序使用

    from django.conf import settings
    settings.ALIYUN_SECRETID # 引用
    

    六、目录结构

    image-20211118214742175

    作者:理想三旬
    出处:
    如果觉得文章写得不错,或者帮助到您了,请点个赞,加个关注哦。运维学习交流群:544692191
    本文版权归作者所有,欢迎转载,如果文章有写的不足的地方,或者是写得错误的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。谢谢。
  • 相关阅读:
    Sigma Function (LightOJ
    Least Common Multiple (HDU
    七夕节 (HDU
    Goldbach`s Conjecture(LightOJ
    tarjan图论算法
    数论基础(更新中)
    You Are Given a Decimal String... CodeForces
    【UOJ#22】【UR#1】外星人
    【UOJ#21】【UR#1】缩进优化
    【BZOJ3242】【UOJ#126】【NOI2013】快餐店
  • 原文地址:https://www.cnblogs.com/operationhome/p/15574691.html
Copyright © 2011-2022 走看看