【问题标题】:Debug django heroku foreman using pycharm使用 pycharm 调试 django heroku foreman
【发布时间】:2025-12-04 17:00:01
【问题描述】:

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

【问题讨论】:

    标签: django heroku pycharm foreman


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        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()
        

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

        【讨论】:

          【解决方案4】:

          正如Dmitry’s answer 中链接的support page 中所述,现在有一个名为EnvFile 的第3 方PyCharm 插件将在执行前导入您的.env 的内容。

          【讨论】: