【问题标题】:python manage.py collectstatic is loading the wrong (local) settingspython manage.py collectstatic 正在加载错误的(本地)设置
【发布时间】:2018-06-05 11:04:54
【问题描述】:

我正在使用 cookiecutter-django .env 设计来根据环境加载不同的设置。在本地运行应该使用“local.py”设置并在 aws elatic beanstalk 中运行,它应该加载“dev.py”。两者都从“common.py”导入。

使用开发设置在 AES 中运行服务器有效,但 collectstatic 失败,因为它尝试导入本地设置而不是开发设置。

EC2 实例如何运行 collectstatic 并加载(适当的)dev.py 设置?

【问题讨论】:

    标签: django amazon-ec2 amazon-elastic-beanstalk cookiecutter-django collectstatic


    【解决方案1】:

    好的,找到了。 manage.py 文件如下所示

    if __name__ == '__main__':
        os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.local')
    

    强制所有命令使用本地设置运行,而不是从 .env 文件加载。

    我已经改成

    import environ
    
    ROOT_DIR = environ.Path(__file__) - 1
    
    env = environ.Env()
    env.read_env(ROOT_DIR.file('config/settings/.env'))
    
    if __name__ == '__main__':
        os.environ.setdefault('DJANGO_SETTINGS_MODULE', env('DJANGO_SETTINGS_MODULE', default='config.settings.local'))
    

    这允许使用我实际指定的任何设置运行 manage.py 命令。

    【讨论】:

      猜你喜欢
      • 2020-12-05
      • 1970-01-01
      • 2016-02-01
      • 2020-10-17
      • 2016-12-23
      • 2018-11-02
      • 2020-06-13
      • 2020-02-10
      • 1970-01-01
      相关资源
      最近更新 更多