我为 Heroku 使用了 Django-Cookiecutter 的默认设置,Whitenoise 提供静态文件,S3 提供媒体文件。
但是,我想使用“媒体”来存储某些较重的内容文件(pdf),这些文件会随着时间的推移而改变,而不仅仅是用户文件上传,而且改变不应该需要收集静态文件。(最终我将创建一个创作工具来将文件上传到 S3,但目前我只是手动将一些文件(如 pdf)放在正确的 S3 存储桶子目录中。)
Django-Cookiecutter 的标准设置是将 MEDIA_URL 设置为完整的 S3 地址,例如https://my-bucket.s3.amazonaws.com/media/some.pdf
... 但我想使用相对路径访问我的模板中/media/some.pdf
的这些文件,就像我可以通过/static
.
我想要一个相对 URL,/media/some.pdf
因为我正在使用download
href 标记上的属性,单击该属性时应下载文件,但使用指向 amazonaws.com 的完全限定 url,浏览器将忽略下载属性并仅加载文件在浏览器中。
是否有一种简单的方法来配置 Django(在 Heroku 上运行,使用 Whitenoise 用于静态,S3 用于媒体)以在通过访问时从 S3 返回文件/media
?