如何在Djang中实现无结尾分页

2024-07-07 09:19:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在Django应用程序中实现无结尾分页,但我一直致力于如何实现类似twitter的无结尾滚动:

我的模型.py在

from django.db import models
from django.contrib import admin
#------------------------------------------------------------------------------ 

class Book(models.Model):
    name = models.CharField(max_length=50)
    pub_date = models.DateField(auto_now_add=True)


class bookAdmin(admin.ModelAdmin):
    """Book admin class"""

    list_display = ('name','pub_date')

    ordering = ('name',)


admin.site.register(Book,bookAdmin)

我的视图.py公司名称:

^{pr2}$

我最新的_books.html'模板:

<html><head><title>Books</title></head>

<body>
<h1>Books</h1>

{% block js %}
{{ block.super }}
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.2.min.js" type="text/javascript" charset="utf-8"></script> 
<script type="text/javascript" src="http://yourjavascript.com/337923491/endless.js" charset="utf-8"></script>
<script type="text/javascript" src="http://yourjavascript.com/151379951/endless-pagination.js"></script>
<script>$.endlessPaginate();</script>
{% endblock %}

{% block content %}
<div class="endless_page_template">
{% include page_template %}
</div>
{% endblock %}

</body></html>

我最近的书_页面.html公司名称:

<h2>Viewing All Entries</h2>

{% load endless %}
<div>
<ul>
{% paginate book_list %}
{% for book in book_list %}
<li>{{ book.name }}</li> {{ book.pub_date }}
{% endfor %}
{% show_pages %}
</ul>
</div>

如果我像tutorial中给出的那样使用{{ block.super }},我首先面临两个问题。我使用next和previous功能得到简单的分页。在

有人能帮帮我吗。我想实现滚动加载分页。。。在


Tags: namedivdateadminmodelshtmljsscript
2条回答

请试用我的代码:

在视图.py公司名称:

from models import Book
from django.template import RequestContext 
from django.shortcuts import render_to_response

#                                        


def latest_books(request,template = 'latest_books.html',
                  page_template = 'latest_books_page.html' ):

    context = {}    
    book_list = Book.objects.order_by('-pub_date')

    context.update( {'book_list': book_list, 'page_template': page_template,} )

    # override the template and use the 'page' style instead.
    if request.is_ajax():
        template = page_template

    return render_to_response(
        template, context, context_instance=RequestContext(request) )

最新_books.html公司名称:

^{pr2}$

最新图书_页面.html公司名称:

{% load endless %}
{% paginate 10 book_list %}
{% for book in book_list %}
{{ book.name }}<br> {{ book.pub_date }}<br><br><br>
{% endfor %}
{% show_more "even more" "working" %}

试试看,告诉我。。。在你的数据库里输入20-30个条目来正确地检查它。。。在

在调用{{block.super}}之前,必须包含page_template

<h2>Entries:</h2>
{% include page_template %}

{% block js %}
    {{ block.super }}
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script src="{{ STATIC_URL }}endless_pagination/js/endless-pagination.js"></script>
    <script>$.endlessPaginate();</script>
{% endblock %}

相关问题 更多 >