首页 > 解决方案 > 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.pyKeyCDN 的建议手动设置:

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

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

所以我不知道如何让 KeyCDN 与这个设置一起工作。

任何帮助表示赞赏!

标签: djangocdndigital-oceanstatic-files

解决方案


好吧,我不知道是不是这种情况,但我正在使用 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/


推荐阅读