我正在将项目中的Django从1.7升级到1.10。
正确加载所有静态文件。但是,具有版本(或任何其他参数)的那些不是。原因是Django出于某种原因将问号转换为%
。
示例:
<script src="{% static 'dashboard/js/dashboard.js?v=1.11.0' %}"></script>
转换为
/static/dashboard/js/dashboard.js%3Fv%3D1.11.0
静态文件配置:
STATIC_URL = '/static/'
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
可能是什么原因?
答案 0 :(得分:4)
{% static path %}
模板标记期望path
成为有效的文件路径并将其转义。请改用以下语法:
<script src="{% static 'dashboard/js/dashboard.js' %}?v=1.11.0"></script>