python - Django 模板。有什么方法可以将 {{ }} 嵌套在 {% %} 中?
问题描述
我正在使用 Django 模板。我想将一个名为js_files的变量传递给我的模板,它是我想要添加到 HTML 末尾的 JavaScript 文件列表。例如,这是一个示例js_files数组:
js_files = ['fancy_dialog.js', 'animate_everything.js']
在我的 Django 模板中,我希望能够执行以下操作:
{% for js_file in js_files %}
<script src="{% static '{{ js_file | safe }}' %}"></script>
{% endfor %}
这就是我得到的:
<script src="/static/%7B%7B%20js_file%20%7C%20safe_file%20%7D%7D"></script>
<script src="/static/%7B%7B%20js_file%20%7C%20safe_file%20%7D%7D"></script>
这就是我想要的:
<script src="/static/fancy_dialog.js"></script>
<script src="/static/animate_everything.js"></script>
语法“{{ js_file | safe }}”正是我想要的。但是我不能用“{% static 'JS-FILE-VARIABLE-HERE' %}”概括地包装那个值。它不筑巢。无论如何要这样做?
解决方案
您当然可以在模板标签中使用模板上下文变量(当然,那些被编写为接受它们的变量,但大多数情况下都是如此),您只需直接传递变量名称 - 不带引号,也不带 contextvar{{ }}
语法。在你的情况下,这只是一个问题:
{% for js_file in js_files %}
<script src="{% static js_file %}"></script>
{% endfor %}
推荐阅读
- python - 如何在使用 oauth1 和 python 调用 confluence api 时发布附件?
- javascript - Angular 在所需组件内创建动态组件
- java - 尝试在 Netbeans 中执行表单类的问题
- powershell - PowerShell 拉取所有没有成员的空 DL
- android - 测试我使用 Ruby 和 Appium 的断言是否正确
- r - 当 R 中的结果为负时显示 2 位数字和错误消息
- python - tf.Variable assign 方法打破了 tf.GradientTape
- webrtc - Ice stun 请求包中的提名标志在哪里?
- android - 验证器未将数据保存到 Firebase 数据库
- git - Git:获取所有未推送的分支