使用通用视图创建django分页

使用通用视图创建django分页,django,html,Django,Html,我在使用泛型视图进行django分页时遇到了一个小问题,将多个模型传递给一个模板,其中一个模型必须分页。寻呼机不会显示模板上的下一页,但只生成一个页面 下面是我的代码: views.py: class homeView(generic.ListView): template_name = 'success/home_page.html' context_object_name="articles" paginate_by = 3 def get_quer

我在使用泛型视图进行django分页时遇到了一个小问题,将多个模型传递给一个模板,其中一个模型必须分页。寻呼机不会显示模板上的下一页,但只生成一个页面

下面是我的代码:

views.py:

class homeView(generic.ListView):
    template_name = 'success/home_page.html' 
    context_object_name="articles"  
    paginate_by = 3 

    def get_queryset(self):
        articles =Articles.objects.order_by('article_title')
        paginator = Paginator(articles,self.paginate_by)
        page = self.request.GET.get('page')
        try:
           articles = paginator.page(page)
        except PageNotAnInteger:
           articles = paginator.page(1)
        except EmptyPage:
           articles = paginator.page(paginator.num_pages)    

        return articles

    def get_context_data(self,**kwargs):
        context = super(homeView, self).get_context_data(**kwargs)
        context['quote'] = Quotes.objects.order_by('quote')
        return context
模板:

{% for article in articles %}
    {{ article.article_title}}
    {{ article.aticle_hit}}
{% endfor % %}
<div class="pagination">
   {% if articles.has_previous %}
       <a class="navlink" href="?page={{articles.previous_page_number}}">Prev</a>
   {% endif %}
   Page {{articles.number}} of {{articles.paginator.num_pages}}
   {% if articles.has_next %}
       <a class="navlink" href="?page={{articles.next_page_number}}">next</a>
   {% endif %}
</div>
{%用于文章%中的文章]
{{文章.文章标题}
{{article.aticle_hit}}
{%endfor%%}
{%if articles.has_previous%}
{%endif%}
第{{articles.number}}页,共{{articles.paginator.num_pages}
{%if articles.has_next%}
{%endif%}

只是我的分页页面显示的第一页。“下一个”和“上一个”根本不起作用。请帮助我找到一种更好的方法来使用通用视图进行分页,并将多个模型传递到一个模板中。

如前所述,请精简。如果你得到一个错误,发布它,这将有所帮助

class homeView(generic.ListView):
    template_name = 'success/home_page.html'
    context_object_name = "articles"
    paginate_by = 3
    model = Articles

    def get_context_data(self, **kwargs):
        context = super(homeView, self).get_context_data(**kwargs)
        context['quote'] = Quotes.objects.order_by('quote')
        return context

为什么要手动执行此操作?您可以删除整个
get\u queryset
方法,只需设置
model=Articles
并保持分页方式即可。它将自动工作。get_queryset,因为我将两个模型传递给一个模板。我面临的分页问题不会在html模板上显示下一页和上一页,但您没有在get_queryset()中创建两个模型。相信我,你不需要问。删除它,添加模型,保留分页方式。然后看看它是否仍然不起作用,因为其他一切看起来都正常。显示出一个错误。我对django很新,如果您写下您的代码,我将不胜感激。通过这种方式,我将很快理解您解决问题的方法。提前感谢代码已被修剪,但我仍然面临相同的问题。我的html模板上总共有6个对象要显示。但只有3个对象显示,而不显示“下一步”按钮,要查看包含其他3个对象的下一页,请显示空白!!页面部分没有显示任何内容