2012-03-20 95 views
1

我想在我的Django模板的每個頁面底部添加完整的類別列表(每個類別都是模型)。我想擁有它,以便自動生成。我寧願不必爲每個視圖提供類別列表。基於模型在Django中自動生成頁腳的正確方法

有沒有適當的方法來做到這一點,以便我不必每次都將它提供給模板?

回答

2

創建一個template tag將該標記添加到基本模板(或任何具有公共頁腳的模板)。

3

你既可以

編寫自定義模板標籤:
使用inclusion tag它提取所有類別和展示他們的模板。將此模板標籤包含在您的基本模板中。

from django import template 
register = template.Library() 

from app.models import Category 

@register.inclusion_tag("footer.html") 
def footer(): 
    categories = Category.objects.all() 
    return {"categories": categories} 

這可能是你想要做的最好的選擇。

使用自定義背景處理器:
Create a function,拉在所有類別,使它們在所有頁面的模板上下文中可用。