KeyCDN 和 DO Spaces: Django {% static %} vs {{ STATIC_URL}} 当



我正在使用 digitalocean.com 空格来存储我的 Django 应用程序的静态文件。我根据他们的教程(与AWS相同的设置(成功设置了它。我现在想在静态文件前面放一个 CDN。KeyCDN有一个描述如何执行此操作的文档,但建议在模板中使用{{STATIC_URL}}而不是{% static %}模板标记。

Django 管理员使用{% static %}模板标签而不是{{ STATIC_URL}}。在某些情况下没有区别,但是,如果您定义STATICFILES_STORAGE,就像将静态文件存储在 digitalocean.com 空间中一样,模板标签{% static %}忽略您在 settings.py 中明确声明的任何内容STATIC_URL

我有:

STATICFILES_STORAGE='storages.backends.s3boto3.S3Boto3Storage'

S3Boto3Storage将模板标记{% static %}设置为指向https://ams3.digitalocean.com/bucket_name/path/to/static/,而不考虑{{ STATIC_URL }}的设置。

按照KeyCDN的建议在settings.py中手动设置STATIC_URL=

STATIC_URL = 'http://keycdndjango-1c6b.kxcdn.com/static/'

对模板标记{% static %}返回的内容没有影响。

所以我无法弄清楚如何使 KeyCDN 与此设置一起使用。

任何帮助不胜感激!

好吧,我不知道是否是这种情况,但我正在使用数字海洋CDN并将AWS_S3_ADDRESSING_STYLE设置为"虚拟"进行了更改

https://ams3.digitalocean.com/bucket_name/path/to/static/

https://bucket_name.ams3.digitalocean.com/path/to/static/

相关内容

  • 没有找到相关文章

最新更新