如何部署 django 后端并将前端应用程序反应到同一域
Posted
技术标签:
【中文标题】如何部署 django 后端并将前端应用程序反应到同一域【英文标题】:How to deploy a django backend and react frontend app to same domain 【发布时间】:2019-06-17 22:37:26 【问题描述】:所以我在谷歌上搜索了这个问题的答案,并找到了一种使用 medium article 将一个 react 应用程序部署到 github 页面的方法。 问题是我的反应应用程序有一个 django 后端。所以github页面不起作用。我也知道如何将 django 站点部署到 heroku。我也知道您可以将反应应用程序部署到 heroku。但是单独部署它们会使它们具有不同的域。现在有没有办法部署一个全栈 django 并将应用程序反应到 heroku 以便两者具有相同的域?
【问题讨论】:
【参考方案1】:您可以做的事情:
为这两个部分使用子域。例如www.yourdomain.com
用于前端,api.yourdomain.com
用于后端。您可以在不更改当前托管策略的情况下执行此操作,只需从子域重定向到相应的托管。
在 heroku 上托管您的 react 应用程序并使用 heroku 域服务。这可能需要一个小的 NodeJS 包装器来让 react 应用程序运行,但这并不费力
【讨论】:
对于第一个选项,我不需要真正的自定义域,因为该项目是一个练习项目,所以想象一下在 heroku 上托管 django 后端并获得一个域“yoursite.herokuapp.com”后,如何我要添加前端反应部分吗? 我认为这是不可能的,因为您实际上并没有访问您的 heroku 域。您需要一个可以访问 dns 记录的实际***域。对于练习项目,您可以在dot.tk获得一个免费域名以上是关于如何部署 django 后端并将前端应用程序反应到同一域的主要内容,如果未能解决你的问题,请参考以下文章
部署单独的 React 前端和 Django DRF API
将单独的 Dyno 用于反应前端和 Django 后端时的 Cookie