使用Django在Heroku上提供根级静态文件?

kni*_*ite 15 django favicon heroku

我需要在Heroku上提供几个根级静态文件(例如domain.com/favicon.ico).这是目前的文件列表:

favicon.ico
crossdomain.xml
sitemap.xml
robots.txt
humans.txt
apple-touch-icon-57x57-precomposed.png
apple-touch-icon-57x57.png
apple-touch-icon-72x72-precomposed.png
apple-touch-icon-72x72.png
apple-touch-icon-114x114-precomposed.png
apple-touch-icon-114x114.png
apple-touch-icon-precomposed.png
apple-touch-icon.png
Run Code Online (Sandbox Code Playgroud)

我搜索了高低,无法找到一个标准的方式来提供大量的静态文件.无论我在哪里托管它们(在带有collectstatic或Amazon S3的Heroku上),在我的urls.py中明确定义和重定向14个文件似乎都是错误的.

b1_*_*b1_ 1

我没有找到任何 url 配置文件,所以我认为 heroku 不提供此服务。

根据官方文档,您需要将数据保存在外部服务上

编辑:

因此,根据 heroku 文档,只有 301 重定向到 S3 可以帮助您。或者甚至更好的是,对于模板中的所有媒体(ico、favicons、png 和其他图像)文件,将绝对路径设置为 S3 服务;对于机器人和 crossdomain.xml,将urls.py301 重定向到 S3。对于 sitemap.xml 更好地使用本机解决方案

在开发中使用正确的重定向代码并没有错。