Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 模板中包含的Django渲染模板_Python_Django - Fatal编程技术网

Python 模板中包含的Django渲染模板

Python 模板中包含的Django渲染模板,python,django,Python,Django,基本上我有一个基本模板,基本模板包括另一个模板,比如说,最新的更新。所以结构是这样的: -base.html |---------latest_update.html {% load latest_update_tags %} ...... {% latest_update %} 因此,我知道如何包含一个简单的模板,比如没有任何数据处理的模板(不需要与任何应用程序view.py交互)。但是,如何将包含的模板附加到django应用程序view.py中,以便至少可以定期显示更新的数据

基本上我有一个基本模板,基本模板包括另一个模板,比如说,最新的更新。所以结构是这样的:

-base.html
     |---------latest_update.html
{% load latest_update_tags %}
......
{% latest_update %}
因此,我知道如何包含一个简单的模板,比如没有任何数据处理的模板(不需要与任何应用程序view.py交互)。但是,如何将包含的模板附加到django应用程序view.py中,以便至少可以定期显示更新的数据

我不太清楚这方面的条款,请随意更改标题


编辑:这个问题有点模糊,因为我不知道如何正确使用术语。所以,我有这个包含的模板。每一页都有。因此,根据我有限的知识,这意味着我必须为点击
view.py
的每个页面手动渲染它。有更简单的方法吗?

您可以使用Django templatetags。在Django应用程序
templatetags
目录下定义一个名为
latest\u update\u tags
的文件,并编写如下代码来定义
latest\u 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
中如下使用它:

-base.html
     |---------latest_update.html
{% load latest_update_tags %}
......
{% latest_update %}

您只是在谈论在具有上下文的视图中呈现模板吗?我真的不明白你的意思terminology@jdi这是最难的,哈哈,术语。我知道如何在具有上下文的视图中呈现模板。但由于这包括模板,我很不清楚如何呈现它。如果我要正常渲染它,那意味着我必须在views.py中渲染每个函数?(因为基本上每个页面都有最新的_更新)还是您正在寻找的包含标签?