【问题标题】:Python - Making a script that changes Django settingsPython - 制作一个更改 Django 设置的脚本
【发布时间】:2020-02-10 09:03:54
【问题描述】:

我有一个 django 项目,其中包含 3 个完全不同的模板,每个模板都有自己的文件夹。 是否可以制作一个在执行时更改 django 设置(静态文件和模板的文件路径)的 python 脚本?

谁能指点我一个教程或给我建议,告诉我如何自己实现这一目标?

谢谢!

【问题讨论】:

    标签: python settings


    【解决方案1】:

    代替:

    settings.py
    

    你可以有这样的结构:

    settings/
      base.py
      development.py
      staging.py
      production.py
    

    base.py 包含所有常用设置。


    development.pybase.py 导入所有设置并覆盖development server 的必要设置,如下所示:

    from your_app.settings.base import *
    
    A_SETTING_TO_CHANGE = DIFFERENT_VALUE_FOR_DEVELOPMENT
    

    staging.pybase.py 导入所有设置并覆盖staging server 的必要设置,如下所示:

    from your_app.settings.base import *
    
    A_SETTING_TO_CHANGE = DIFFERENT_VALUE_FOR_STAGING
    

    production.pybase.py 导入所有设置并覆盖production server 的必要设置,如下所示:

    from your_app.settings.base import *
    
    A_SETTING_TO_CHANGE = DIFFERENT_VALUE_FOR_PRODUCTION
    

    然后在wsgi.pymanage.py更改:

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_app.settings')
    

    收件人:

    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_app.settings.development')
    

    • staging server中,将DJANGO_SETTINGS_MODULE环境变量设置为'your_app.settings.staging'

    • production server中,将DJANGO_SETTINGS_MODULE环境变量设置为'your_app.settings.production'

    【讨论】:

      猜你喜欢
      • 2012-12-20
      • 2020-04-21
      • 1970-01-01
      • 2013-07-16
      • 1970-01-01
      • 2018-03-22
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      相关资源
      最近更新 更多