微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Heroku 部署 Django 应用程序的问题

如何解决使用 Heroku 部署 Django 应用程序的问题

我不清楚在 Django 应用程序中为 Heroku 保存 procfile 的位置 我的应用程序文件结构是这样的:

const sum = (ns) => ns .reduce ((a,b) => a + b,0)

const sumTreeAsync = async (leaf) =>
  Promise .all (Array .isArray (leaf)
    ? leaf.map (sumTreeAsync)
    : Array .isArray (leaf .value)
      ? [sumTreeAsync (leaf .value)]
      : [leaf .value]
  ) .then (sum)

const valuetree = [{item: 1,value: 100},{item: 2,value: [{item: 3,value: [{item: 4,value: 200},{item: 5,{item: 6,value: 200}]}]}];

sumTreeAsync (valuetree)
  .then (console .log)

我应该保存在 procfile1 还是 procfile2 位置?

我的 procfile 看起来像这样:

在位置 procfile1

coding_site
   coding_site
      wsgi.py
      settings.py
   procfile2
readME.md
procfile1
other_files

procfile2 中

web: gunicorn coding_site.coding_site.wsgi --log-file -

我遇到的错误

使用 procfile1 位置

web: gunicorn coding_site.wsgi --log-file -

使用 procfile2 位置

2021-05-19T18:40:51.423744+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET 
path="/admin" host=coding-club-jaya.herokuapp.com request_id=71078218-39b0-4b7f-a817-7093078baa08 
fwd="123.201.77.16" dyno= connect= service= status=503 bytes= protocol=https

顺便说一句:

我更改了 settings.py 文件,如不同教程所示

这里是 setting.py 代码中所做的更改

2021-05-19T17:49:21.981719+00:00 heroku[router]: at=error code=H14 desc="No web processes running" 
method=GET path="/admin" host=coding-club-jaya.herokuapp.com request_id=a47a58e6-4513-44a4-88aa-4425470d8465
fwd="123.201.77.16" dyno= connect= service= status=503 bytes= protocol=https

这里需要的是我的requirements.txt文件

import django_heroku
import dj_database_url
***

MIDDLEWARE =[**,'whitenoise.middleware.WhiteNoiseMiddleware',**]
***
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2','NAME': 'ciba',}
}
***
STATIC_ROOT = os.path.join(BASE_DIR,"staticfiles")

STATIC_URL = '/static/'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesstorage'

os.makedirs(STATIC_ROOT,exist_ok=True)
os.makedirs(STATICFILES_Dirs[0],exist_ok=True)

# Activate Django-Heroku.
django_heroku.settings(locals())

当我检查 heroku 中的日志文件时,我发现了这一点


gunicorn==20.1.0
whitenoise==5.2.0
django-heroku==0.3.1

Django==3.0.2
requests==2.22.0
sqlparse==0.2.4
dj-database-url==0.5.0
dj-static==0.0.6
docopt==0.6.2
psycopg2
python-decouple
gitignore==0.0.8
pytz==2018.9
static3==0.7.0

你可能会觉得它很有用

请帮忙,我所有的工作都完成了,并卡在了最后一步(这是我第一次部署)

谢谢!

解决方法

根据docs

“Procfile 必须位于您应用的根目录中。如果放在其他任何地方,它就不会起作用。”

这是 manage.py 所在的目录。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?