Python Django';s CachedStaticFilesStorage未哈希文件URL
我想对我的一些javascript和css文件启用版本控制,因为我在网站上工作时遇到了缓存问题。我在Django 1.6中读到了CachedStaticFilesStorage,它看起来非常完美。我将我的settings.py修改为以下设置:Python Django';s CachedStaticFilesStorage未哈希文件URL,python,css,django,versioning,Python,Css,Django,Versioning,我想对我的一些javascript和css文件启用版本控制,因为我在网站上工作时遇到了缓存问题。我在Django 1.6中读到了CachedStaticFilesStorage,它看起来非常完美。我将我的settings.py修改为以下设置: STATIC_ROOT = 'staticfiles' STATIC_URL = '' # Additional locations of static files STATICFILES_DIRS = ( ) STATICFILES_FINDERS
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 %}
{%block cssfiles%}
{%load static%}
{%endblock%}
非常棘手。。。如果您仔细阅读文档,您将了解:
。。。使用静态文件
静态
模板标记引用模板中的静态文件
因此,不是:
{% load static %}
使用
这在Django 1.10中是固定的,如下所述: 在旧版本中,您还必须在模板中使用
{%loadstaticfromstaticfiles%}
。静态模板标记({%load static%}
)现在使用django.contrib.staticfiles(如果已安装)
我也不知道如何将哈希注入文件名。。。{%static%}标记似乎没有这样做。。。同样使用Django 1.6Perfect,令人恼火的是这是一个无声的失败
{% load staticfiles %}