【问题标题】:Pyramid/Chameleon - Passing data into a chameleon templatePyramid/Chameleon - 将数据传递到变色龙模板
【发布时间】:2017-11-09 12:09:33
【问题描述】:

我在名为 table_search.pt 的 Pyramid 应用中有一个 Chameleon 模板:

<form class="table-search" tal:repeat="search_item search_fields">
      <div class="form-group">
      <label data-field="${search_item.field}">${search_item.label}</label>
      <input type="${search_item.field_type}" class="form-control">
      </div>
</form>

我希望将名为search_fields 的字典列表传递到此模板中,但我不知道如何。我正在将table_search.py 加载到另一个名为table.pt 的模板中:

<div metal:use-macro="load: pagelayout.pt">

<div metal:fill-slot="content">
     <div class="content">

     <div metal:define-slot="search_fields">
          <div metal:use-macro="load: table_search.pt"></div>
     </div>

 ...

有没有办法将搜索模板加载到另一个具有特定数据上下文的模板中,其中包含search_fields 字典列表?

通过可调用的金字塔视图传入search_fields 可能会很棘手,那么还有其他方法吗?

【问题讨论】:

    标签: python pyramid chameleon


    【解决方案1】:

    你可以看看变色龙中的 tal:repeat 函数:

    <div tal:repeat="fielddict fieldslist">
    <label>${fielddict['fieldname']}</label>
    <input type="${fielddict['fieldtype']}" class="form-control">
    </div>
    

    类似的东西,但我不确定 tal:repeat 是否可以直接遍历字典。列表效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      • 2018-02-23
      • 1970-01-01
      相关资源
      最近更新 更多