【问题标题】:Is it possible to "concatenate" blocks from child and parent Tornado templates?是否可以从子 Tornado 模板和父 Tornado 模板“连接”块?
【发布时间】:2013-12-27 17:45:54
【问题描述】:

我有几个这样的模板:

base.html

<script src="/js/jquery.js"></script>
{% block scripts %}
{% end %}

blog-base.html

{% extends base.html %}
{% block scripts %}
    <script src="/js/blog-base.js"></script>
{% end %}

blog-article.html

{% extends blog-base.html %}
{% block scripts %}
    <script src="/js/blog-article.js"></script>
{% end %}

我希望最终产品中包含所有三个脚本,但当然上面的代码不会这样做,而是选择将 blog-base.html 的 script 块替换为 blog-article 中的块。 html。除了设置单独的块名称之外,还有什么方法可以使这项工作正常进行吗?我为 blog-article.html 设想了这样的事情

{% extends base.html %}
{% block scripts %}
    <script src="/js/blog-base.js"></script>
    {% render-block scripts %}
    {% end %}
{% end %}

让它同时渲染子模板的scripts定义一个块供父base.html 使用,但我怀疑这样的事情是否存在。

【问题讨论】:

    标签: python templates tornado


    【解决方案1】:

    目前还不可能(并且很难以 Tornado 模板当前的工作方式实现)。对于添加脚本标签的特殊情况,您可能可以使用 UIModules(它特别支持将脚本或 css 链接添加到当前页面)而不是扩展基本模板。

    【讨论】:

      猜你喜欢
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 2014-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多