2016-10-15 46 views
-3

我是一個Django初學者,我想嘗試和學習一些Django的CMS基本知識。Django的{%塊%}解釋

當我開始編輯,是由安裝程序生成的默認模板,我注意到有{% block ... %}塊,但我找不到什麼block手段或更具體的是什麼block titleblock content意味着任何文件。

無論是Django和Django的-CMS文檔缺少的這樣的解釋,這是奇怪鑑於這似乎很基本。當我刪除block title塊時,標題就搞砸了。

我使用:

  • Django的1.8.15
  • 的Django-CMS 3.4.1。
+2

[閱讀本文檔](https://docs.djangoproject.com/en/1.8/ref/templates/language/) – dahrens

+0

@dahrens好吧,我只是再次閱讀它,發現我錯過了。我想我很困惑,因爲django cms文檔沒有提到它。謝謝。 –

回答

1

{% block %} ... stuff {% endblock %}{% block %} ... stuff {% endblock %}您看到的東西是用於製作可重用的HTML代碼片段(或部分代碼或塊)。在Django,他們使用一種稱爲Jinja(Jinja2的)子系統。

注意,你會看到語法沒有獨家神社。這個想法是,編程語言和框架使用一個組件來允許封裝HTML模式。我們稱這些爲Web Templating system,有時稱它們爲「少邏輯」。儘管我們可以循環並執行條件。

在金賈(和其它類似的語法子系統),blocks是零件然後我們可以重新使用。一個「宏」,如果你想。 Jinja也有宏,您也可以在其中添加參數來影響輸出結果的生成。

+2

Django的模板語言是進價分開。儘管在最近的版本中,你可以*使用Jinja。但'block'存在於兩者中。 –

+0

呼叫良好。我*確實*不驗證它是否是分離的代碼,或者是語法的重新實現。 – renoirb