我想在我的Django模板的每個頁面底部添加完整的類別列表(每個類別都是模型)。我想擁有它,以便自動生成。我寧願不必爲每個視圖提供類別列表。基於模型在Django中自動生成頁腳的正確方法
有沒有適當的方法來做到這一點,以便我不必每次都將它提供給模板?
我想在我的Django模板的每個頁面底部添加完整的類別列表(每個類別都是模型)。我想擁有它,以便自動生成。我寧願不必爲每個視圖提供類別列表。基於模型在Django中自動生成頁腳的正確方法
有沒有適當的方法來做到這一點,以便我不必每次都將它提供給模板?
創建一個template tag將該標記添加到基本模板(或任何具有公共頁腳的模板)。
你既可以
編寫自定義模板標籤:
使用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,拉在所有類別,使它們在所有頁面的模板上下文中可用。