我有我的页面,我有我的帖子列表,我也希望侧边栏有建议。我使用通用ListView作为我的帖子,并且需要以某种方式传递建议所以我使用了extra_context,根据我读过的几个例子,应该(?)工作,但在模板中没有'建议&#39 ;对象
class PostList(generic.ListView):
model = models.Post
paginate_by = 10
context_object_name = 'mj'
def get_queryset(self):
return models.Post.objects.filter(user = self.request.user)
def extra_context(self):
return {'suggestions':models.Pla.objects}
我没有django的经验所以也许有更好的方法来传递侧边栏的建议。也许我可以通过包装视图功能来实现这一点,因为我想提出建议..
答案 0 :(得分:0)
基于类的视图不像旧的基于函数的通用视图那样使用extra_context
。相反,通常的方法是使用自定义get_context_data
调用,如文档中所示:
https://docs.djangoproject.com/en/dev/topics/class-based-views/generic-display/#adding-extra-context
文档中的示例几乎就是您要尝试的内容。您可能希望进一步遵循其示例并传入查询集(models.Pla.objects.all()
)而不是管理器对象(models.Pla.objects
)。