当通过 HTTPS 访问站点时,将 Djanto 的 STATIC_URL 切换到 HTTPS

Switching Djanto's STATIC_URL to HTTPS when site is accessed via HTTPS

我有一个按以下方式设置的 Django 项目:

模板是针对静态文件设置的(例如):

{% load staticfiles %}
[...]
<script src="{% static 'site/js/main.js' %}"></script>

但是有一个问题。当通过 HTTPS 访问 Django 站点时,浏览器往往会抱怨安全问题,因为静态文件仍然通过 HTTP 提供。例如 Chrome:

所以问题是,有没有办法告诉 Django 在通过 HTTPS 访问站点时使用 https://static.example.com/ 作为 STATIC_URL

由于您为资产使用单独的子域,因此您可以使用 protocol-relative URL,它始终使用与源页面相同的协议:

STATIC_URL = "//static.example.com"