如何将变量放在模板标签的参数中? [英] How do you place a variable inside a template tag's argument?
问题描述
使用Django媒体,我可以执行以下操作:
With Django media I could do the following:
{% for language in LANGUAGES %}
<script type="text/javascript" src="{{ MEDIA_URL }}app/js/jquery.ui.datepicker.{{ language.0 }}.js"></script>
{% endfor %}
现在,我想切换到静态文件。然而,这显然不起作用:
Now, I'd like to switch to static files. However this (obviously) does not work any more:
{% for language in LANGUAGES %}
<script type="text/javascript" src="{% static "app/js/jquery.ui.datepicker.{{ language.0 }}.js" %}"></script>
{% endfor %}
有没有一些干净的方式来实现我正在尝试要做?
Is there some clean way to achieve what I'm trying to do?
[我想切换一致性,因为我使用的管理员和许多第三方应用程序已切换。此外,我担心Django媒体将来会被废弃。 ]
[ I want to switch for consistency, because the admin and many third-party apps I'm using have switched. Also, I'm worried that the Django media will be deprecated sometime in the future. ]
推荐答案
你有两个选择。第一个,如所建议的,使用 {{STATIC_URL}}
:
You have two options. First one, as suggested, use {{ STATIC_URL }}
:
{% for language in LANGUAGES %}
<script type="text/javascript"
src="{{STATIC_URL}}app/js/jquery.ui.datepicker.{{ language.0 }}.js"
></script>
{% endfor %}
或者,作为 {%static %}
仅以其参数前缀,但不要求路径实际有效:
Alternatively, as {% static %}
only prefixes its argument but does not require the path to be actually valid:
{% for language in LANGUAGES %}
<script type="text/javascript"
src="{% static "app/js/jquery.ui.datepicker" %}.{{ language.0 }}.js"
></script>
{% endfor %}
这篇关于如何将变量放在模板标签的参数中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!