python - django请教下各位,怎么管理生产环境和开发环境的配置

 思念某女人_959 发布于 2022-10-28 03:48

目前想到两种方式管理配置文件:

1.写两个product_settings.py, development_setting.py, 然后写个build脚本,根据
jenkins 设置构建环境,不同的环境将不同的配置文件软连接或者cp成settings.py

2.线上环境用的是supervisor+gunicorn+nginx+django,gunicorn启东时,可以设置变量,
设置一个DJANGO_RUN_ENV变量,然后在settings.py中通过判断变量的值,更新不同的配置,
但是有一个默认的配置就是线上的。

不知道哪种方式更加合适一些,请大神分享下自己的配置文件管理方式,万分感谢。

3 个回答
  • 一般Python项目的alpha、beta或者生产的机器会统一刷python项目运行所需的环境(一般指的是基础设施:例如redis、mq等),可以专门刷一份环境相关的配置文件(例如:/etc/google/env.yaml), 在这个文件中指定当前机器所属的环境(alpah、beta、prod等),然后可以放一个字段:

    env: alpha/beta/prod

    然后你的django项目配置个模块用于读取机器环境配置文件。

    这个方法看似啰嗦,但是其实对于环境的管理真的很好使,我们就是这么搞得。

    2022-11-12 01:45 回答
  • 我是使用的第一种方式

    2022-11-12 01:45 回答
  • settings
        --__init__.py
        --common.py
        --dev.py
        --uat.py
        --pro.py
         
    common.py里面配置通用部分
    dev.py、uat.py、pro.py里面配置开发、测试、生产环境不同的配置
    __init__.py里面
    from common import *
    #from dev import *
    #from uat import *
    #from pro import *
    2022-11-12 01:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有