gpt4 book ai didi

python - Mako:将变量传递给基本模板和子模板

转载 作者:太空宇宙 更新时间:2023-11-03 11:09:43 25 4
gpt4 key购买 nike

目标:在基础模板和子模板中访问 myargs。目前我只能访问其中一个。

调用:

child.render(myargs={'a':2, b:'5'})

基本摘录:

<%page args="myargs=None, **kwargs"/>
% if myargs['a']:
a is: ${myargs['a']}
% endif
${self.body(myargs=myargs)}

子摘录版本 1:

<%page args="myargs=None, **kwargs"/>
<%inherit file="/base.html" />

% if myargs['b']:
b is: ${myargs['b']}
% endif

子摘录版本 2:

<%page args="myargs=None, **kwargs"/>
<%inherit file="/base.html" />
<%def name="body()">
% if myargs['b']:
b is: ${myargs['b']}
% endif
</%def>

使用子版本 1,子版本会抛出错误,因为 myargs 未定义,而 base 可以工作。使用子版本 2,base 抛出错误,因为 myargs 未定义,而子版本工作。

这些不是确切的例子,但这是我困境的本质。如果有人可以解释如何通过继承链传递变量,那就太好了。不幸的是,Mako 的文档似乎跳过了这一部分。

最佳答案

很简单的解决方案,哈哈。

事实证明,“页面参数”对这个原因没有用,事实上,他们通过在其中一个页面上用“无”覆盖“myargs”来制造问题。可以直接从两个文件访问关键字变量,而无需使用“页面参数”。

关于python - Mako:将变量传递给基本模板和子模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8089666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com