2015-04-01 40 views
0

我想知道如何創建一個jinja2模板,這將允許我把我的頭放入一個變量,我可以擴展基本文件,然後調用我的頭文件子文件。如何創建一個頭文件可以被添加到文件瓶

目前我父代碼:

{% block head %} 
<div class="wrapper col2"> 
    <div id="topbar"> 
    <div id="topnav"> 
     <ul> 

      <ul> 
     <li><a href="/">Home</a></li> 

     <li><a href="sign-up">Sign in/up</a></li> 
     <li><a href="#">Admin console</a> 
      <ul> 
      <li><a href="/WelcomeAdmin/">Console</a></li> 
      <li><a href="staffman">Staff Management</a></li> 
      <li><a href="AlertConsole">ALERTS</a></li> 
      <li><a href="shootersign">Sign up Shooters</a></li> 
      </ul> 
     </li> 

     <li ><a href="contact-us">Contact Us</a></li> 
      <li class="last"><a href="/Logout">logout</a></li> 
     </ul> 
    </div> 
    <br class="clear" /> 
    </div> 
     <hr> 
    {% with messages = get_flashed_messages() %} 
     {% if messages %} 
     <ul> 
     {% for message in messages %} 
      <li>{{ message }} </li> 
     {% endfor %} 
     </ul> 
     {% endif %} 
    {% endwith %} 

</div> 
{% endblock %} 

我的孩子模板是:

{% extends "Header.html" %} 
{% block head %} 
{% endblock %} 
<h1>CREATE SHOOT</h1> 

<form action="" method="post" name="form"> 
     {{ form.hidden_tag() }} 
     <p> 
      <h2>Name of shoot:</h2> 
      {{ form.nameofshoot(size=40) }}<br> 
    <h2>Number of days in shoot:</h2> 
      {{ form.day}} 
     <p><input type="submit" value="Create Shoot"></p> 
    </form> 

我做得不對或有另一種方法,我可以走?

回答

3

你需要做的是從你的孩子模板中刪除線{% block head %}{% endblock %}

因爲你叫{% extends "Header.html" %},都在header.html中聲明的內容(無論是在什麼塊)您的孩子在模板會有什麼樣自動包含。這是擴展的工作。

通過在您的子模板中添加{% block head %}{% endblock %},您實際上所說的是「從Header.html中獲取所有內容,但用我在子模板中指定的內容覆蓋'head'塊中的所有內容。然後,由於您的子模板中沒有定義任何內容,因此您將Header.html文件中定義的內容替換爲空。

您想使用{% block blockname %}表示法來指定您想要在子模板中更改的內容,而不是您希望保持相同的內容。

This page on inheritence是Jinja文檔的相關部分,並提供了一個很好的示例。

+0

現在我定義的html不起作用,它就像一個圖像,但不是圖像 – 2015-04-02 00:08:58

+0

對不起,您的評論對我來說沒有意義。 「就像一個形象,但不是一個形象」?這是不是一個不同的問題? – Aurora 2015-04-02 00:13:11

+0

不,它是相同的問題,但更新代碼後,我的表單現在不再是作爲表單使用,而是與其中的圖像類似,不是交互式的。我正在談論的HTML是在**子模板** – 2015-04-02 00:15:25

相關問題