问题是当{x 1}}在django-compressor编译为.js文件的coffeescript文件中被引用时,它没有正确加载。
在我的django模板中,我有
{{ STATIC_URL }}
在//this loads fine
{{ STATIC_URL }}
{% load compress %}
{% compress js %}
//STATIC_URL in here does not load
<script type="text/coffeescript" charset="utf-8" src="/static/stuff.coffee" />
{% endcompress %}
我有
stuff.coffee
然后浏览器中呈现的HTML是
$('#test').prepend '<img src="{{ STATIC_URL }}images/image.png" />'
因此我的问题是,如何让Django识别coffeescript文件中的/static/
<img id="theImg" src="{{ STATIC_URL }}images/image.png">
?非常感谢您的帮助!
答案 0 :(得分:3)
您的[.js|.coffee]
文件不是django模板,不会被评估。您需要使用django的模板渲染器预处理脚本,或者在html模板中设置变量,并将其分配给javascript窗口属性。 E.g:
在你的django模板中:
window.staticUrl = "{{ STATIC_URL }}";
{% load compress %}
{% compress js %}
//STATIC_URL in here does not load
<script type="text/coffeescript" charset="utf-8" src="/static/stuff.coffee" />
{% endcompress %}
在stuff.coffee
:
$('#test').prepend "<img src="#{window.staticUrl}images/image.png" />"