【问题标题】:Deploying multiple projects on Heroku with Django使用 Django 在 Heroku 上部署多个项目
【发布时间】:2012-01-31 03:35:24
【问题描述】:

我想将两个独立的 Django 应用程序部署到 Heroku。两个应用程序,具有两个独立的域名,在逻辑上彼此不同。我设置了一个包含所有 Python/Django 内容的 venv。现在,我可以创建另一个应用程序来复制另一个项目中的所有 Python/Django 内容。但是,有没有办法使用相同的venv?

我的文件结构目前是这样的

django
-.git
-projectname_1
-venv
.gitignore
requirements.txt

当我尝试在 django 下添加 projectname_2 时,出现错误提示 Django app must be in a package subdirectory

是否有使用相同 venv 添加第二个应用程序的正确方法?

【问题讨论】:

    标签: django heroku virtualenv cedar


    【解决方案1】:

    当您的项目不符合 Heroku 的 Django 项目规范时,会发生此错误。

    具体来说,当 Heroku 没有在 ~/your_app_name/settings.py 找到设置文件并因此假定它是非 Django Python 应用程序时,就会发生该特定错误。但它确实在您的项目根目录 (~/) 中找到了 settings.py 和 manage.py。

    引发此错误的具体 Heroku 源代码是: https://github.com/heroku/heroku-buildpack-python/blob/master/bin/compile

    您的目录应如下所示:

    ~/.gitignore
    ~/Procfile
    ~/requirements.txt
    ~/your_app_name/
    ~/your_app_name/manage.py
    ~/your_app_name/settings.py
    ~/your_app_name/etc...
    

    您最好的选择是使用两个独立的 Heroku 应用程序。 Heroku 对您正在部署的应用程序类型做了一些假设,并不一定要考虑多个应用程序。

    另外,最好不要签入您的 virtualenv。只需确保在 requirements.txt 中定义了所有依赖项,Heroku 就会将它们自动安装到新的 virtualenv 中。

    【讨论】:

      猜你喜欢
      • 2015-09-29
      • 2015-09-15
      • 2012-12-19
      • 2012-11-16
      • 2014-05-21
      • 1970-01-01
      • 2016-01-11
      • 2020-10-24
      • 2021-10-17
      相关资源
      最近更新 更多