2016-02-25 2 views
1

У меня есть проект Django настроить следующим образом:Переключение STATIC_URL Djanto на HTTPS, когда сайт доступен через HTTPS

  • Apache выступающей Django через WSGI на https://example.com и https://example.com.
  • Apache также обслуживает http://static.example.com и https://static.example.com.

Шаблоны создаются как, например, в отношении файлов статических (например):

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

Существует, однако, проблема. Когда сайт Django доступен через HTTPS, браузеры, как правило, жалуются на безопасность, поскольку статические файлы STILL обслуживаются через HTTP. Например Chrome:

Chrome doesn't like it

Таким образом, вопрос, есть способ сказать Django использовать https://static.example.com/ как STATIC_URL, когда сайт доступен через HTTPS?

ответ

2

Поскольку вы используете отдельный поддомен для ваших активов, вы можете использовать protocol-relative URL, который всегда служит на том же протоколе в качестве исходной страницы:

STATIC_URL = "//static.example.com" 
Смежные вопросы