上下文資料
有時,你的模板需要更多資訊。例如,我們希望將使用者放在頁面的標題中,並在登出連結旁邊新增指向其配置檔案的連結。在這些情況下,請使用 get_context_data
方法。
views.py
class BookView(DetailView):
template_name = "book.html"
def get_context_data(self, **kwargs)
""" get_context_data let you fill the template context """
context = super(BookView, self).get_context_data(**kwargs)
# Get Related publishers
context['publishers'] = self.object.publishers.filter(is_active=True)
return context
你需要在超類上呼叫 get_context_data 方法,它將返回預設的上下文例項。你新增到此詞典的任何專案都可供模板使用。
book.html
<h3>Active publishers</h3>
<ul>
{% for publisher in publishers %}
<li>{{ publisher.name }}</li>
{% endfor %}
</ul>