3
我在項目中將Django從1.7升級到1.10。Django 1.10將問號轉換爲靜態文件URL中的百分號
所有靜態文件加載正確。然而,版本(或任何其他參數)不是。原因是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',
)
可能是什麼原因?
它會轉義它,因爲它會與用作查詢字符串開頭的真正qmark衝突。你可以嘗試「{%static'dashboard/js/dashboard.js'%}?v = 1.11.0」,看看是否有效...... –
你試過使用'autoescape'嗎? https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#autoescape –
@JonClements非常感謝你的想法。我在關閉'%}'之後移動了'?v = 1.11.0'部分以使'%}?v = 1.11.0',它顯然正在工作。我想知道django1.7和django1.10之間有什麼變化。無論如何,如果你把它作爲答案發布,我會接受它。謝謝! –