django - KeyCDN 和 DO 空间:设置 STATICFILES_STORAGE 时的 Django {% static %} vs {{ STATIC_URL}}
问题描述
我正在使用digitalocean.com 空间来存储我的 Django 应用程序的静态文件。我根据他们的教程成功设置了它(与 AWS 相同的设置)。我现在想在静态文件前面放一个 CDN。KeyCDN 有一个描述如何做到这一点的文档,但建议在模板中使用而{{STATIC_URL}}
不是在{% static %}
模板标签中使用。
Django 管理员{% static %}
不使用模板标签{{ STATIC_URL}}
。但是,在某些情况下没有区别,但是,如果您定义,如在digitalocean.com 空间STATICFILES_STORAGE
中存储静态文件所必需的那样,则模板标签将忽略您在 settings.py 中明确声明的任何内容。{% static %}
STATIC_URL
我有:
STATICFILES_STORAGE='storages.backends.s3boto3.S3Boto3Storage'
S3Boto3Storage
无论. {% static %}
_ https://ams3.digitalocean.com/bucket_name/path/to/static/
_{{ STATIC_URL }}
STATIC_URL=
按照settings.py
KeyCDN 的建议手动设置:
STATIC_URL = 'http://keycdndjango-1c6b.kxcdn.com/static/'
对模板{% static %}
标签返回的内容没有影响。
所以我不知道如何让 KeyCDN 与这个设置一起工作。
任何帮助表示赞赏!
解决方案
好吧,我不知道是不是这种情况,但我正在使用 Digital Ocean CDN 并将 AWS_S3_ADDRESSING_STYLE 设置为“虚拟”进行了更改
从
https://ams3.digitalocean.com/bucket_name/path/to/static/
至
https://bucket_name.ams3.digitalocean.com/path/to/static/
推荐阅读
- antlr4 - antlr4中的相互左递归
- javascript - 如何通过Javascript中的属性值获取另一个对象内的对象值
- webrtc - 未捕获的 DOMException:无法构造“RTCPeerConnection”:当 URL 方案为“转”或“转”时,用户名和凭据都需要
- node.js - 在 Windows 10 中清除现金后 NPM 命令不起作用
- python - Python中的等高线图。X 轴=时间,y 轴是浓度,Z 轴由包含直径数据的合并列组成
- amazon-web-services - 如何使用 JSON 有效负载正确发出和签署 http 请求以查询 AWS cloudwatch 指标
- actions-on-google - 谷歌助手媒体播放器在暂停时消失
- c# - Json.NET JsonPath 实现是否支持嵌套条件表达式?
- reactjs - formio API 删除多个提交
- r - 如何制作具有 1 行 0 列的 data.frame?