Django模板:将{{include ... with ...}`中的上下文变量用于动态语句

我想从include语句内的上下文中实现变量。 代码:

views.py

    historic_trends_parameters = {'kpi':'kpi_name','dimension':'dimension_name'}

    context = {'historic_trends_parameters':historic_trends_parameters}
    return render(request,'homepage.html',context=context)

我要放在include语句中的模板:

myTemplate.html

   <div class='MyClass'>
     <object class='tableauViz' width='{{ width }}' height='{{ height }}' style='display:none;'>
        <param name='show_tabs' value='{{ show_tabs }}' />
        <param name='filter' value='{{ filter_values }}' />
     </object>
  </div>

homepage.html

// some code

<div>
{% include "myTemplate.html" with 
           width='700' height='400' show_tabs='yes' 
           filter='KPIParameter=historic_trends_parameters.kpi' %}
</div>

// some more code

结果:

当我激活django并转到homepage时,这就是我在页面源中看到的内容:

   <div class='MyClass'>
    <object class='tableauViz' width='700' height='400' style='display:none;'>
        <param name='show_tabs' value='yes' />
        <param name='filter' value='KPI Parameter=historic_trends_parameters.kpi' />
    </object>
  </div>

我找不到从historic_trends_parameters.kpi正确传递context值的方法。

我期望的结果应该是:

   <div class='MyClass'>
    <object class='tableauViz' width='700' height='400' style='display:none;'>
        <param name='show_tabs' value='yes' />
        <param name='filter' value='KPI Parameter=kpi_name' />
    </object>
  </div>

意思是historic_trends_parameters.kpi变成'kpi_name'

raypuppet 回答:Django模板:将{{include ... with ...}`中的上下文变量用于动态语句

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3142487.html

大家都在问