繁体   English   中英

如何使用不同的目录结构将 django/react 应用程序部署到 heroku

[英]how to deploy django/react app to heroku with different directory structure

我有一个使用本教程在这里创建的 django/react 应用程序

虽然略有不同,我则尝试使用本教程中我的应用程序部署到Heroku的位置

但是,教程后面​​的目录结构是不同的。 我的目录结构如下...

django-todo-react/
  backend/
    backend/
    todo/
    manage.py
    ...
  frontend/
    all my react stuff...

在我的 django-todo-react 文件夹(项目根目录)中,我有requirements.txtProcfilepackage.json和 '.gitignore` 文件。

据我了解, Procfile应该包含类似web: gunicorn backend.wsgi但是因为我的Procfile位于根目录中,所以我使用以下web: gunicorn backend/backend.wsgi看起来很奇怪,但基本上我进入了我的后端文件夹我有我的实际后端项目,我从django-admin startproject backend并获得wsgi

我添加了所有其他的东西从我提到的第二个教程这一个,但仍然没有这样的运气。 我收到一个COLLECT_STATIC错误,如果我将错误静音,一切都会过去,但是在打开我的 heroku 应用application error时我会收到一个application error

我已经尝试仅使用第二个教程部署应用程序,一切正常,但具有第二个教程的目录结构。 我认为将我的Procfile更改为具有web: gunicorn backend/backend.wsgi会指向正确的事情。

所以我基本上只想有一个服务器文件夹,在我的情况下是我的后端文件夹和一个客户端文件夹,对我来说它是前端。 但这对我不起作用。

Gunicorn 需要类似 Python 的路径,因此在您的情况下,使用web: gunicorn django-todo-react.backend.backend.wsgi in Procfile应该可以工作。

所以我一直试图找出我的问题的解决方案,并在仔细阅读控制台后发现collectstatic没有找到我的static文件夹的任何错误。 它从 Django 项目中查找我的静态文件夹,然后是前端文件夹、构建文件夹,最后是静态文件夹。

我的 Django 项目没有前端文件夹,所以不是在我的目录的根目录中创建我的 react 应用程序,而是在我的 Django 项目中创建它并确保运行 yarn build 以便我的前端文件夹包含 build/static

这很好用,所以如果有人遇到类似问题,我希望这会有所帮助。 此外,我的问题仍然是如何让它与两个单独的目录一起工作,一个用于我的后端,一个用于我的前端。 我很确定它与STATIC_DIRS但这只是一个猜测

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM