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