Django';s collectstatic忽略Heroku环境中的文件夹
我正在构建一个Django+Vue整体,我正在尝试实现的发布管道假设将Vue前端构建到Django应用程序的静态文件夹中,运行Django';s collectstatic忽略Heroku环境中的文件夹,django,heroku,django-staticfiles,whitenoise,Django,Heroku,Django Staticfiles,Whitenoise,我正在构建一个Django+Vue整体,我正在尝试实现的发布管道假设将Vue前端构建到Django应用程序的静态文件夹中,运行collectstatic并启动服务器。静态文件通过WhiteNoise提供 它在我的机器上工作得很好。构建的文件夹最终位于收集的静态文件目标中,其内容得到了很好的服务: → 但是,当托管在Heroku上时,除了这个动态构建文件夹之外,其他所有内容都会被收集,它不会出现在staticfiles中,即使它出现在应用程序的static文件夹中。我确保执行顺序正确,甚至在确保
collectstatic
并启动服务器。静态文件通过WhiteNoise提供
它在我的机器上工作得很好。构建的文件夹最终位于收集的静态文件目标中,其内容得到了很好的服务:
→
但是,当托管在Heroku上时,除了这个动态构建文件夹之外,其他所有内容都会被收集,它不会出现在staticfiles
中,即使它出现在应用程序的static
文件夹中。我确保执行顺序正确,甚至在确保文件夹成功构建后手动运行collectstatic
您可能已经注意到,我将此文件夹放在.gitignore中,但我尝试将其从中删除,但没有任何效果
为什么会有这样奇怪的行为
p、 将DEBUG设置为True并通过Django的开发服务器提供静态文件将导致一个工作的应用程序,这再次证明文件位于正确的位置。听起来好像是在动态地构建该目录才是问题所在。您可能必须为该过程创建一个帐户。或者使用创建它的方法。结果证明,我只需要更改构建包的顺序,以便NodeJS构建包在Python构建包之前运行
您可以在这里阅读有关设置构建包顺序的内容:在Heroku构建阶段(我已经检查过)成功创建了文件夹,在发布阶段(之后),我显式地调用了
collectstatic
——但是,staticfiles
文件夹中没有显示任何内容,这太奇怪了。