Подтвердить что ты не робот

Django CachedStaticFilesStorage не поддерживает хеширование файлов

Я хотел включить управление версиями в некоторые из моих javascript и css файлов, поскольку у меня возникали проблемы с кешированием при работе на сайте. Я читал о CachedStilesFilesStorage в Django 1.6, и это казалось идеальным. Я изменил параметры settings.py на следующие настройки:

STATIC_ROOT = 'staticfiles'

STATIC_URL = ''

# Additional locations of static files
STATICFILES_DIRS = (
)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.CachedStaticFilesStorage'

В качестве теста я переписал наиболее проблемные теги css, чтобы узнать, начнет ли он хеширование пути к файлу. При попытке загрузки страницы я получаю 500 ошибок.

Любые идеи, в которых я ошибся? Есть ли еще один шаг, который я пропустил?

Запись в шаблоне:

{% block cssfiles %}
{% load static%}
<link href="{% static "/static/css/mapmaker.css" %}" media="screen">
{% endblock %}
4b9b3361

Ответ 1

Очень сложно... Если вы внимательно прочитаете документы, вы узнаете:

... используйте тег staticfiles static, чтобы ссылаться на ваши статические файлы в ваших шаблонах...

Итак, вместо:

{% load static %}

Используйте

{% load staticfiles %}

Ответ 2

Это зафиксировано в Django 1.10, как описано в документации:

В старых версиях вам также понадобилось использовать {% load static from staticfiles %} в вашем шаблоне. Статический тег шаблона ({% load static %}) теперь использует django.contrib.staticfiles, если он установлен.