2011-07-08 27 views
1

我有一個簡單的(我希望如此)關於一個典型的Django網站的結構的問題。我必須使用一些混合到其他典型靜態頁面的「Django驅動」頁面來重構我的網站。如何在Django中構建一個網站?

我想使用這些模板有幾個模板和很多頁面。

我的問題是:

什麼是爲每一頁不同內容的最佳方式? 我現在在想的是在我的URL conf中使用相同的模板並在視圖中修改內容中的不同頁面。但我認爲,在視圖中「硬編碼」我的內容是非常不自然的。

有沒有辦法在我的模板中定義內容區域,例如,在管理面板中編輯它們?

我想一定有更好的方法。

謝謝!

編輯 可能的flatpages可以幫助我的任務。但是確實存在一種方法來添加與模板特定部分相關的「內容區域」?我只能罰款主要內容區域。

回答

0

您可以使用通用的意見,我會由衷地鼓勵你。他們很棒。檢查出django docs for generic views。但是對於需要不同模板的不同頁面,是的,這就是網站的工作原理。

Django不是「文件燈」 - 它通過結合大量小文件而起作用。對於在視圖控制器中對HTML進行硬編碼的反對行爲是非常正確的 - 這通常是不好的做法。你將爲每個視圖都有一個模板,但是真的,你有多少個視圖?即使在大型應用程序中,內置或自定義通用視圖無法處理的視圖數量也會非常低。

3

你的「內容區」與django的模板塊有什麼不同?你可以在你的佈局文件定義是這樣的:

base.html 
{% block overridable %}Default content{% endblock overridable %} 

而在你的模板,你喜歡這個擴展它:

view.html 
{% extends "base.html" %} 
{% block overridable %} Overrided by view {% endblock overridable %} 
+0

好吧,但以這種方式,我爲每個不同的頁面有一個模板。我想要一個模板用於很多頁面,內容在一些變量中定義,或者我不知道是什麼。 – daliz

+0

如果您瞭解Drupal及其「塊」,您可以理解我的意思。 – daliz

+0

這是佈局的目的。你在那裏定義你的「變量」,並在模板中覆蓋它們。 – Senthess

相關問題