2012-10-09 41 views
1

我在我的應用程序中使用Django模板系統,並在子模板中相應地引用了{%extends「base.html」%},雖然在重新調整模板時,它只會出現html標籤而沒有CSS樣式 - 因此完全沒有選擇base.html模板。 請告訴我我做錯了什麼?它可能是一個問題,它沒有找到我的base.html模板的位置?Django-Child template-Base.html不渲染

這是孩子模板代碼:

{% extends "base.html" %} 
{% block content %} 
{% for field in form %} 
{{ form }} 
{% endfor %} 
{% endblock %} 

這是base.html文件模板代碼(相關部分):

<div id="content"> 
<h2> 
       Page heading - This is where the functionality goes... 
      </h2> 
      <FIELDSET><INPUT class=Test value="Test" type=submit></FIELDSET> 

      {% block primary %}{% endblock %} 
</div> 

請讓我知道如果你需要任何firther信息來解決這個問題。

-I將添加views.py今晚(倫敦時間) -

這一切都解決,非常感謝您的幫助

感謝

+0

如果您缺少樣式(CSS)並且它們駐留在STATIC文件夾中,則可能是問題所在。 – Jingo

+0

基本模板是否自行工作(正確渲染,包括CSS)? –

+1

爲什麼你爲每個表單域渲染相同的表單? –

回答

0

就像提到goliney .. 。 你需要有

{% block content %} 
{% endblock %} 

你base.html文件的文件有一個部分,那麼你可以覆蓋在擴展base.html模板的其他模板中。

目前在你的孩子的模板,你可以做一個

{% block primary %} 
whatever you want here and this would show up where you marked on the base.html template 
{% endblock %} 

而且不知道如果你是剛剛組建了一個簡單的例子與否。您將需要創建

<form action="" method="post">{% csrf_token %} 
for loop here 
</form>