【问题标题】:Django Heroku ProfileDjango Heroku 简介
【发布时间】:2016-11-11 16:28:13
【问题描述】:

我在 Heroku 上运行 django 应用程序时遇到问题。以下是我的文件结构:

---django_blog
   ---media_cdn
   ---static_cdn
   ---Procfile
   ---requirements.txt
   ---runtime.txt
   ---src
      ---blog
         ---...
         ---settings.py
      ---manage.py
      ---...

所以“src”实际上是我的项目根目录,而“博客”是我的应用程序。我尝试将 procfile 设置为

web: blog.wsgi --log-file -

web: src.blog.wsgi --log-file -

但它们都不起作用。当我检查heroku日志文件时,我发现了这个错误:

ImportError: No module named 'blog'

【问题讨论】:

标签: python django heroku procfile


【解决方案1】:

来自Heroku 文档:

首先,也是最重要的一点,Heroku Web 应用程序需要一个 配置文件。

此文件(名为 Procfile)用于显式声明您的 应用程序的进程类型和入口点。它位于 存储库的根目录。

您需要更具体地说明如何声明您的进程类型,如果您为此使用gunicorn,您将声明--chdir,因为您想从不同的文件夹运行它:

web: gunicorn --chdir src myproject.wsgi --log-file -

另一方面,我没有使用gunicorn,而是这样声明:

web: python myproject/manage.py runserver 0.0.0.0:$PORT --noreload

仅供参考 - 在生产中切换到 gunicorn

【讨论】:

  • 非常感谢。第二种方法有效,但 gunicorn 无效。从现在开始,我将坚持第二种方法。
  • 很高兴能帮上忙,编码愉快
猜你喜欢
  • 2017-02-21
  • 2014-03-18
  • 1970-01-01
  • 2011-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-09
  • 2011-05-11
相关资源
最近更新 更多