Python 将我的第一个Django应用程序部署到Heroku:错误消息';h12和x27;状态';503';

Python 将我的第一个Django应用程序部署到Heroku:错误消息';h12和x27;状态';503';,python,django,api,heroku,pythonanywhere,Python,Django,Api,Heroku,Pythonanywhere,我正在开发我的第一个应用程序,到目前为止我已经避免了问任何问题,但现在我们正在部署 这是我的密码: (注意:大多数程序都在“/starwarsmals/djangostarwarsmals/appstarwarsmals/utils.py”中,而不是“models.py”。我不认为数据库是这个应用程序的最佳选择,因为我从中提取数据的“swapi”API可能会发生变化。我认为最好是缓存API的结果,而不是定期更新数据库。) 我正在尝试将我的Django应用程序部署到Heroku,但收到以下“h1

我正在开发我的第一个应用程序,到目前为止我已经避免了问任何问题,但现在我们正在部署

这是我的密码: (注意:大多数程序都在“/starwarsmals/djangostarwarsmals/appstarwarsmals/utils.py”中,而不是“models.py”。我不认为数据库是这个应用程序的最佳选择,因为我从中提取数据的“swapi”API可能会发生变化。我认为最好是缓存API的结果,而不是定期更新数据库。)

我正在尝试将我的Django应用程序部署到Heroku,但收到以下“h12”错误代码:

我怀疑“utils.py”中脚本开头的API调用花费的时间太长,导致Heroku超时。然而,在尝试重构代码之前,我需要一个专业的意见。此外,我在应用程序中更改的最后一件事是设置环境变量(如果有帮助的话)

我尝试在任何地方部署Python,只是想看看是否还能找到更多信息。我得到了“出错”页面和相关错误日志:

注:

对于每次尝试的部署,我都确保在“settings.py”中更改“ALLOWED_HOSTS”。我尝试为Heroku和Python anywhere将其设置为“localhost”。在Heroku告诉我将其更改为我的Heroku应用程序url后,我这样做了,并且应用程序似乎可以运行,但那是我收到“h12”错误代码的时候

我知道我为骆驼案发疯了。我将修复这个问题,并在以后更新代码。我现在只是想在网上弄点东西

我已经研究过这个错误代码,但当我头朝下跳进这个应用程序时,很多错误代码都是我无法理解的

我正在使用: Django 3.0.3 Python 3.7 “/starWarsMeals/djangoStarWarsMeals/requirements.txt”(虚拟环境中)中的所有内容

欢迎任何其他代码评论


谢谢大家!

很明显,您有一个长时间运行的进程,将任何数据返回到客户端需要30秒以上(Heroku的限制)

2020-03-10 03:57:48346:文件“/home/dreadPrivate/.virtualenvs/myenv/lib/python3.7/site packages/django/conf/init.py”,第63行,在安装程序中 2020-03-10 03:57:48346:自包装=设置(设置模块) 2020-03-10 03:57:48,346: 2020-03-10 03:57:48347:File“/home/dreadPrivate/.virtualenvs/myenv/lib/python3.7/site packages/django/conf/init.py”,第161行,在init 2020-03-10 03:57:48347:raise配置不正确(“密钥设置不能为空”)

从您的错误日志中,我注意到您没有设置密钥。您是否在您的环境变量或
settings.py
中设置了它们,因为您在上面也提到了这一点

此外,我在应用程序中更改的最后一件事是设置环境变量(如果有帮助的话)


很明显,您有一个长时间运行的进程,将任何数据返回到客户端需要30秒以上(Heroku的限制)

2020-03-10 03:57:48346:文件“/home/dreadPrivate/.virtualenvs/myenv/lib/python3.7/site packages/django/conf/init.py”,第63行,在安装程序中 2020-03-10 03:57:48346:自包装=设置(设置模块) 2020-03-10 03:57:48,346: 2020-03-10 03:57:48347:File“/home/dreadPrivate/.virtualenvs/myenv/lib/python3.7/site packages/django/conf/init.py”,第161行,在init 2020-03-10 03:57:48347:raise配置不正确(“密钥设置不能为空”)

从您的错误日志中,我注意到您没有设置密钥。您是否在您的环境变量或
settings.py
中设置了它们,因为您在上面也提到了这一点

此外,我在应用程序中更改的最后一件事是设置环境变量(如果有帮助的话)


没错。我在“settings.py”中将密钥设置为环境变量路径。但是,密钥存储在本地计算机上。在部署期间是否应将其放置在目录的其他位置?将其放入
.env
文件中。与在“设置”中设置密钥相比,最好将密钥保存在那里。py您有什么建议来了解特定的长期运行过程以及我可能如何处理此过程?我已经看到芹菜或多线程的建议,但这两个都是我目前的头,我想找到另一个解决方案,如果可能的话。我意识到我有一个本地文件中的秘密密钥,但设置它在Heroku使用'Heroku配置:集'。我已经忘记了这一点。我相信长期运行的过程是由于没有设置密钥。在错误日志中,它会持续检查密钥,执行时间超过30秒,从而导致h12错误。尝试设置并运行它,这是正确的。我在“settings.py”中将密钥设置为环境变量路径。但是,密钥存储在本地计算机上。在部署期间是否应将其放置在目录的其他位置?将其放入
.env
文件中。与在“设置”中设置密钥相比,最好将密钥保存在那里。py您有什么建议来了解特定的长期运行过程以及我可能如何处理此过程?我已经看到芹菜或多线程的建议,但这两个都是我目前的头,我想找到另一个解决方案,如果可能的话。我意识到我有一个本地文件中的秘密密钥,但设置它在Heroku使用'Heroku配置:集'。我已经忘记了这一点。我相信长期运行的过程是由于没有设置密钥。在错误日志中,它会持续检查密钥,执行时间超过30秒,从而导致h12错误。尝试设置并运行它