我有一些部分模板,我在各种页面加载,有时包含这些部分是动态的,它们有自己的相关模型。
目前我正在通过视图将模型传递到主页面,但是没有办法为这些与父页面和视图无关的部分加载数据吗?
就好像我在视图中复制代码一样不对!
我是否可以创建自定义标记或允许我将数据加载到部分中的内容,而不管父页面及其视图中传递的数据是什么?
这方面的一个很好的例子是“最新帖子”的部分内容,它存在于侧边栏部分并加载到许多不同的父模板上
干杯 凯文
答案 0 :(得分:0)
自定义模板标记可以为您执行此操作。您可以编写inclusion tag,它将直接输出呈现的模板:
# yourapp/templatetags/appname_tags.py
def latest_posts(num_posts):
posts = Post.objects.all()[:num_posts]
return {'posts': posts}
register.inclusion_tag('yourapp/partials/latest_posts.html')(latest_posts)