【问题标题】:Where and how do I set an environmental variable using mod-wsgi and django?我在哪里以及如何使用 mod-wsgi 和 django 设置环境变量?
【发布时间】:2010-07-22 15:11:13
【问题描述】:

我正在尝试使用这个 env 变量来指定我的模板的路径,使用 git 或 svn 可能会更容易。

【问题讨论】:

  • svn和git与通过wsgi执行django有什么关系?
  • 在 Web 应用程序中依赖进程环境变量是个坏主意。是的,我知道 Django 本身使用 DJANGO_SETTINGS_MODULE 环境变量来做到这一点。不会改变这是一个坏主意的事实。请参阅“code.google.com/p/modwsgi/wiki/…”以及随后的一些部分,了解进程范围的环境变量会导致托管系统在同一进程中托管多个应用程序时出现的一些问题。
  • 很多人不同意 web 应用程序中的 env 变量不好,因为 env 变量是跨进程共享令牌的最安全方式,而文件系统中的任何地方都没有这些令牌.我个人尽可能少地使用它们,但将它们用作密钥,并没有找到更好的折衷方案。

标签: python django mod-wsgi


【解决方案1】:

在你app.wsgi文件里做:

import os
os.environ['MY_ENV_VARIABLE'] = 'value'
# e.g. os.environ['MPLCONFIGDIR'] = '/path/to/config/dir'

【讨论】:

    【解决方案2】:

    参考资料是here。但是您的项目路径(如果您的意思是这样的话)的操作路线是:

    sys.path.append('/path/to/project')
    

    但是,您的 模板路径 是在您的 settings.py 文件中设置的:

    TEMPLATE_DIRS = ( '/path/to/templatedir1', '/path/to/templatedir2' )
    

    【讨论】:

      猜你喜欢
      • 2017-11-25
      • 2020-06-06
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多