0

次のbase.htmlファイルがあります。これは、それを継承する他のすべてのファイルのメイン スケルトンとして機能します。

<%! import cherrypy %>                        
<!DOCTYPE html>                               
<html>                                                                            
  <body>                                           
    <div class="container">
        <% attribute='defaultValue' %>
        ${attribute}   
        <p>                                   
              ${self.body()}                  
        </p>                                  
    </div>                                    
  </body>                                     
</html>

を継承する別のファイルがbase.htmlできたので、名前を付けますfoo.html

<%inherit file="base.html" />                                                     

Whatever... ${anotherAttribute}

html ファイルは、Python ファイルで呼び出され、lookup.get_template('foo.html').

anotherAttributeでアクセスできますlookup.get_template('foo.html').render(anotherAttribute='bar')。今、私はにアクセスする方法を疑問に思っていますattributebase.html?

4

1 に答える 1

0

「attr」を使用してモジュールスコープを介してのみ、そのような属性を共有できます。

base.html

<%!
attribute = 'defaultvalue'
%>

foo.html

${self.attr.attribute}

それ以外の場合、base.html はそれを直接 foo に渡す必要があります。

base.html

<%
   attribute = 'defaultvalue'
%>

${self.body(attribute=attribute)}

foo.html

<%page args="attribute"/>

${attribute}
于 2012-12-23T18:30:07.540 に答える