基本上我有一个基本模板,基本模板包含另一个模板,比方说,最新更新。所以结构是这样的:
-base.html
|---------latest_update.html
所以,我知道如何包含一个简单的模板,比如没有任何数据处理的模板(不需要与任何应用程序view.py交互)。但是,如何将包含的模板附加到django应用程序view.py中,以便我至少可以定期显示更新的数据?
我不完全确定这个术语,随时更改标题。
编辑:这个问题有点混乱,因为我不知道如何正确地使用术语。所以,我有这个包含模板。每个页面都有它。因此,从我有限的知识来看,这意味着我必须为每个点击view.py
的页面手动渲染它。有没有更简单的方法呢?
答案 0 :(得分:2)
您可以使用Django模板标签。在Django app latest_update_tags
目录下定义一个名为templatetags
的文件,并编写如下代码来定义latest_update
templatetags:
from django import template
from app.models import UpdateObject
register = template.Library()
@register.inclusion_tag("latest_update.html")
def latest_update():
update_objects = UpdateObject.all().[:10]
return {"update_objects": update_objects}
然后在你的base.html
中使用它:
{% load latest_update_tags %}
......
{% latest_update %}