Django在部分中独立加载数据

时间:2012-08-31 16:18:15

标签: django models partials

我有一些部分模板,我在各种页面加载,有时包含这些部分是动态的,它们有自己的相关模型。

目前我正在通过视图将模型传递到主页面,但是没有办法为这些与父页面和视图无关的部分加载数据吗?

就好像我在视图中复制代码一样不对!

我是否可以创建自定义标记或允许我将数据加载到部分中的内容,而不管父页面及其视图中传递的数据是什么?

这方面的一个很好的例子是“最新帖子”的部分内容,它存在于侧边栏部分并加载到许多不同的父模板上

干杯 凯文

1 个答案:

答案 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)