Django没有在heroku上运行

Django没有在heroku上运行,django,heroku,Django,Heroku,遵循《heroku/ceadar上Django入门》指南,最终解决了应用程序部署中的一些问题 Successfully installed django psycopg2 Cleaning up... Discovering process types Procfile declares types -> (none) Compiled slug size is 8.0MB Launching... done, v4 http://<watever>.herokua

遵循《heroku/ceadar上Django入门》指南,最终解决了应用程序部署中的一些问题

Successfully installed django psycopg2
 Cleaning up...
 Discovering process types
 Procfile declares types -> (none)
 Compiled slug size is 8.0MB
 Launching... done, v4
 http://<watever>.herokuapp.com deployed to Heroku
已成功安装django psycopg2
清理。。。
发现进程类型
Procfile声明类型->(无)
编译的段塞大小为8.0MB
发射。。。完成,v4
http://.herokuapp.com 部署到Heroku
导游说网络服务器应该启动了。但是heroku ps没有显示任何进程,显然页面没有加载

heroku日志的尾部:

2012-01-19T10:28:29+00:00 heroku[web.1]: State changed from created to down
2012-01-19T10:28:30+00:00 heroku[web.1]: State changed from down to created
2012-01-19T10:28:32+00:00 heroku[slugc]: Slug compilation finished
2012-01-19T10:30:32+00:00 heroku[router]: Error H99 (Platform error) -> GET <watever>
.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=


(venv) C:\Python27\facebook\venv\myapp>heroku ps
Process  State  Command
-------  -----  -------
2012-01-19T10:28:29+00:00 heroku[web.1]:状态从创建更改为关闭
2012-01-19T10:28:30+00:00 heroku[web.1]:状态从“向下”更改为“已创建”
2012-01-19T10:28:32+00:00 heroku[slugc]:Slug编译完成
2012-01-19T10:30:32+00:00 heroku[路由器]:错误H99(平台错误)->获取
.herokuapp.com/dyno=queue=wait=service=status=503字节=
(venv)C:\Python27\facebook\venv\myapp>heroku ps
进程状态命令
-------  -----  -------
我应该显式启动Web服务器吗?我做错了什么?

关键在这里:

Procfile declares types -> (none)
Heroku不知道如何运行你的应用程序。我假设
python hellodjango/manage.py runserver
在本地为您工作?如果是这样的话,Heroku应该能找到这个


还要检查repo根目录中是否有
requirements.txt
,项目子目录中是否有
settings.py

我用于django/heroku实例的程序文件如下所示:

web: python hellodjango/manage.py runserver "0.0.0.0:$PORT" 
如前所述,如果您没有Procfile,并且您使用的是默认的Web服务器,那么它基本上会执行上述操作,但请尝试显式操作。您可以尝试从heroku控制台运行它,查看它会出现什么(如果有)错误:

heroku run python hellodjango/manage.py runserver

我只是遇到了同样的问题,虽然我不知道是否出于同样的原因

从教程中执行此命令时:

django-admin.py startproject hellodjango


我将应用程序的名称更改为其他名称(当然不仅仅是在这个命令中),但最后省略了“.”。这导致脚本在与我所在目录同名的目录中创建了一个应用程序,这导致Heroku的服务器端脚本无法将该应用程序检测为Django应用程序。

我在Heroku上与Django进行了一段时间的斗争,并决定构建一个非常固执己见但功能正常的引导程序。我希望它能帮助沿途的其他人:

我也遇到了这个问题。通过运行…确保程序文件看起来正确

$heroku run bash
打开可访问heroku的终端。然后

$cat Procfile
这将向您显示proc文件中的实际内容。我的第一行(在我的本地文件中)由于某种原因没有被读取。然后,我在文件中附加了一个“}”。我在Mac上用TextEdit创建文件,应该使用SublimiteText或其他文本编辑器。你也可以打电话

$echo "web: gunicorn hello:app" >> Procfile

或者你想让你的文件说什么。这会将您的Procfile更改为您所回显的任何文件。

运行服务器在本地工作正常。并且存在requirements.txt和settings.py。ProcFile在repo根目录中,有一行:web:python madfb/manage.py runserver我第一次推到heroku时,没有一个
ProcFile
,它的措辞很好。安装
gunicorn
后,我添加了
Procfile
。另外,请记住,cedar仍在betaCedar中,从技术上讲,它是beta,但远不是不稳定的状态。如果您有“标准”设置,如Rails或Flask,则不需要Procfile,Play!etcI提出一张罚单,heroku回答。看起来django应用程序目录没有被签入,即使GIT说更改是推送的。我也给他们发了登记日志。现在我从头开始做这件事,使用了一个预编译的psycog2,它可以工作了。不需要Procfile。Heroku自动检测到django应用程序启动它。不需要Procfile。Heroku会自动检测django应用程序,并为默认的开发服务器启动它。。。如果您没有Procfile,并且您使用的是默认的web服务器,那么它基本上会执行上述操作。但既然你遇到了麻烦,我建议你明确地这样做。默认服务器是什么?使用它有什么问题吗?@MikeVella您不能在生产中使用它,因为它甚至不是多线程的。说使用waitess.u是否在proc文件中声明了web进程?例如:web:gunicorn_django-b0.0.0:$PORT-w9-kgevent--max requests 250--preload settings这个变更过程文件,但默认情况下应用程序是从主分支部署的,在主分支中这些变更不适用。运行:heroku日志,可以找到使用的Procfile config。