2014-12-02 157 views
0

使用變量我有以下設置:Django的 - 從包含的模板

base.html文件

... 
    {% block main-content %} 
    {% endblock main-content %} 
... 

admin.html

{% extends "base.html" %} 
{% load staticfiles %} 

{% block main-content %} 
    {% include users.html %} 
{% endblock main-content %} 

文件users.html使用標籤,如「{ {users}}',因爲它從也返回多個變量的視圖呈現。現在,如果我打電話給admin.html,我可以看到沒有變量的users.html(基本html,css)模板。我不認爲模板是從我的views.py中渲染的。

無論如何我可以獲得視圖返回的變量嗎?

注意:base.html和admin.html位於同一個django應用程序中,而users.html位於不同的位置。

謝謝!

+0

您需要將所有必需的變量模板,包括來自視圖模板處理。如果您要求調試目的,請使用_debug toolbar_。 – Rohan 2014-12-02 12:12:09

回答

0

這似乎是一種常見的誤解。

模板不屬於視圖。唯一的關係是一個視圖可能(或可能不)呈現一個模板:但是一個模板本身可能由一個或多個視圖呈現,並且沒有任何視圖的實際知識。因此,當您將模板「包含」在管理模板中時,與任何其他視圖之間可能會呈現關係;如果你在這個視圖中需要一些變量,你需要自己把它們傳遞給那裏。

注意,這樣的事情 - 那就是,包括與一些特定的環境變量沿着模板 - 通常是最好的,因爲一個inclusion tag