通用视图在django中如何工作?

通用视图在django中如何工作?,django,django-generic-views,Django,Django Generic Views,我想为我的博客使用泛型类。一切都很好,我知道它是如何运作的,我喜欢它背后的想法。但我看到一个泛型类只是获取一篇或几篇博客文章并将它们发送到模板。 是否可以使用泛型类视图向模板添加更多数据?像在博客索引页,我将有最近5张贴的文章。此外,我想发送一个投票到同一个模板。这在泛型类视图中是可能的吗?如果是(应该是),我应该阅读django文档的哪一部分 更新: 查看以下代码(来自django文档): 上面的代码将最近5次轮询发送到polls/index.html。如果我想发送一些额外的数据或信息到同一模

我想为我的博客使用泛型类。一切都很好,我知道它是如何运作的,我喜欢它背后的想法。但我看到一个泛型类只是获取一篇或几篇博客文章并将它们发送到模板。 是否可以使用泛型类视图向模板添加更多数据?像在博客索引页,我将有最近5张贴的文章。此外,我想发送一个投票到同一个模板。这在泛型类视图中是可能的吗?如果是(应该是),我应该阅读django文档的哪一部分

更新: 查看以下代码(来自django文档):


上面的代码将最近5次轮询发送到polls/index.html。如果我想发送一些额外的数据或信息到同一模板显示给用户。比如侧面板上的最新消息。但是在泛型类视图中没有添加新闻的位置。index view类旨在仅显示最新民意调查的列表。没有其他内容。

您可以使用获取上下文数据。下面是我如何在一个视图中使用两个应用程序的示例

class MainPageView(ListView):
    model = MainPaige
    template_name = 'main/index.html'

    def get_context_data(self, **kwargs):
            ctx = super(MainPageView, self).get_context_data(**kwargs)
            ctx['main_page'] = MainPaige.objects.all()
            ctx['main_news'] = News.objects.order_by('-pub_date') [:5]
            return ctx

想展示一些代码来帮助解释你的问题吗?我想这样我应该写更多的代码。旧方法(函数视图)的代码更少或代码量相同,但对我来说组织得更好
class MainPageView(ListView):
    model = MainPaige
    template_name = 'main/index.html'

    def get_context_data(self, **kwargs):
            ctx = super(MainPageView, self).get_context_data(**kwargs)
            ctx['main_page'] = MainPaige.objects.all()
            ctx['main_news'] = News.objects.order_by('-pub_date') [:5]
            return ctx