将变量从被调用的Mako模板传递给继承的模板

时间:2013-05-19 22:19:29

标签: python cherrypy mako

我正在使用带有Mako模板的CherryPy。我正在尝试研究如何从初始调用中传递结果(在此示例中为title):

class Landing(object):
    def index(self):
        tmpl = lookup.get_template("index.html")
        return tmpl.render(title="Hello World")
    index.exposed = True

index.html

<%inherit file="base.html"/>
<%def name="title()">$(title)</%def>
this is the body content

然后转到继承的base.html模板:

<!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <title>$(self.title())</title>
    </head>
    <body>
        <h1>$(parent.title())</h1>
        ${self.body()}
    </body>
</html>

我已经尝试了self.titleparent.title,但都没有效果。如何从初始调用中传递变量?

1 个答案:

答案 0 :(得分:0)

为了使用渲染变量,您可以使用${ title }而不是$( title )