【问题标题】:How to handle nested template variables?如何处理嵌套的模板变量?
【发布时间】:2014-12-11 00:53:06
【问题描述】:

我目前有一个嵌入式<iframe>,它有一个硬连线静态网址:

<iframe src="{% static 'docs/ver600/technical-reference-guide/_build/html/index.html' %}" frameborder="0" class="full-screen"></iframe>

我想用变量替换部分静态字符串。

例如,“技术参考指南”只是一个文档名称变量。显然,仅仅嵌入一个模板变量是行不通的:

<iframe src="{% static 'docs/ver600/{{ doc_name }}/_build/html/index.html' %}" frameborder="0" class="full-screen"></iframe>

在模板中处理这种类型的动态交互的最佳方式是什么?

此外,文档名称来自页面 slug:

{% page_attribute 'slug' %}

如果这完全改变了响应。

【问题讨论】:

    标签: python django html django-templates


    【解决方案1】:

    试试add 过滤器 (docs here)。它可以在模板标签内将字符串和变量值(假设它们也是字符串)链接在一起。

    例子:

    {% static 'docs/ver600/'|add:doc_name|add:'/_build/html/index.html' %}
    

    【讨论】:

    • 是的,我一直试图让它工作,但似乎不能。我通过{% page_attribute 'slug' as doc_name %} 设置变量,但模板报告缺少变量。
    • 没关系,我想通了。问题是我在扩展模板中调用{% page_attribute 'slug' as doc_name %},但我在{% block %} 区域之外这样做。将它移动到我的主要内容块中解决了这个问题。谢谢!
    猜你喜欢
    • 2013-03-15
    • 2021-12-22
    • 2015-05-19
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多