首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django,Create-react-app,Heroku

Django,Create-react-app,Heroku
EN

Stack Overflow用户
提问于 2017-05-01 05:33:52
回答 1查看 547关注 0票数 5

我在一个Django web应用程序中有3个文件夹。文件夹如下:包含settings.py(项目)的文件夹,包含models.py(应用程序)的文件夹,以及包含由create- react -app创建的前端react应用程序的文件夹。

我想构建react前端,将构建的工件复制到一个静态文件夹中,然后在heroku上运行django应用程序,但在我目前的文件夹结构下,这一过程实际上是不可能的。另一种选择是将react应用程序扁平化,并将build、src、node_modules、packagejson等都放在项目的根上,但这似乎真的很糟糕。

Settings.py中的一些配置:

代码语言:javascript
复制
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static'),
os.path.join(BASE_DIR, 'front-end/build/static')

)

我在前端本地运行的内容:

代码语言:javascript
复制
npm run build

我从视图返回的内容:

代码语言:javascript
复制
def index(request):

    return HttpResponse(loader.get_template('build/index.html').render())
    #above line returns index.html that is generated by npm run build

我如何将上面描述的项目部署到Heroku,以便它可以找到所有静态资源?

EN

回答 1

Stack Overflow用户

发布于 2017-07-26 01:31:48

可以使用symlink链接将react的构建输出放到django目录中

例如,如果您的目录结构如下:

代码语言:javascript
复制
~/project_root/
~/project_root/django/static/
~/project_root/my_react_app/build

cd到~/project_root/django/static/并运行

代码语言:javascript
复制
ln -s ../../my_react_app/build .

这将创建指向~/project_root/my_react_app/build~/project_root/django/static/build

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43711556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档