我正在将项目中的 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',
)
可能是什么原因?
最佳答案
{% static path %}
模板标签期望 path
是一个有效的文件路径并将其转义。请改用以下语法:
<script src="{% static 'dashboard/js/dashboard.js' %}?v=1.11.0"></script>
关于python - Django 1.10 将问号转换为静态文件 url 中的百分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42530545/