4

我最近搬到 Heroku 来部署 Django 应用程序。它运行良好,但是我使用 Pycharm 进行调试并且最近遇到了一个问题,因为 Pycharm 不会使用 .env 文件环境变量进行调试。如何使用工头调试 Django 应用程序?

4

4 回答 4

4

不幸的是,尚不支持从 .env 文件加载环境变量。您可以为该问题投票http://youtrack.jetbrains.com/issue/PY-5543以获得有关进展的通知。

于 2012-07-01T21:49:28.233 回答
1

您可以从 .env 文件中读取本地默认环境变量并将它们设置在您的环境中。这已在此处详细记录 - http://www.wellfireinteractive.com/blog/easier-12-factor-django/

于 2013-12-04T23:55:09.183 回答
0

我使用调试时在文件顶部手动调用的代码块来解决此问题。这是一个相当蹩脚但有效的解决方案:

import os


def load_environment():
    env = {}
    with open('.env', 'r') as env_file:
        env_vars = env_file.readlines()
        for v in env_vars:
            v = v.strip().replace('"', '').replace("'", '')
            if v and v[0] != '#':
                v = v.split('=')
                env[v[0]] = v[1]

    os.environ.update(env)

然后从我正在调试的任何应用程序或脚本中调用它,例如:

from debug.environment_loader import load_environment
load_environment()

在访问任何环境变量之前。

于 2014-11-18T20:44:03.290 回答
0

正如Dmitry 的回答中链接的支持页面所记录的那样,现在有一个名为EnvFile的第 3 方 PyCharm 插件,它将在执行之前导入您的内容。.env

于 2015-12-19T05:10:03.753 回答