django-el(无尽的)-pagination不使用AJAX

时间:2017-12-20 09:58:11

标签: javascript jquery ajax django django-endless-pagination

我在我的项目中使用了django-el-pagination(Digg-style pagination),但结果似乎没有使用AJAX。我需要移动页面而不刷新,但似乎ajax无法正常工作。

view.py

@page_template('dmmactress/actress_dev_page.html')
def actress_dev(request, id, extra_context=None):
    instance = get_object_or_404(ActressInfo_two, pk=id)
    moviesinfo = ActressinfoMovielist_co.objects.filter(actressinfo_id=id).prefetch_related('movielist').order_by('movielist')

    context = {
        'actresses': instance,
        'moviesinfo':moviesinfo,
    }

    if extra_context is not None:
        context.update(extra_context)

    return render(request, 'dmmactress/actress_dev.html', context)

actress_dev.html

        ........
        <thead>
        </thead>
        <tbody id="entries" class="endless_page_template">
        {% include page_template %}
        </tbody>
        ........

actress_dev_page.html

{% load el_pagination_tags %}
{% paginate moviesinfos %}
{% for movieinfo in moviesinfo %}
{{ movieinfo.movielist.movie_number|upper }}
{% endfor %}
{% get_pages %}
{% if pages.paginated %}
    {{ pages }}
{% endif %}

结果与不使用ajax的默认分页相同。此外,当我点击“页面”链接时,我被带到“/?page = 2”,其中包括刷新整个页面而不是我想要做的。

在Chrome控制台上,页面重新加载时不会显示任何日志。 (已成功加载js文件。)

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要在docs中添加示例中指定的JS。

https://django-el-pagination.readthedocs.io/en/latest/javascript.html#javascript-pagination-on-scroll

from el_pagination.decorators import page_template

@page_template('myapp/entry_list_page.html')  # just add this decorator
def entry_list(request,
        template='myapp/entry_list.html', extra_context=None):
    context = {
        'entry_list': Entry.objects.all(),
    }
    if extra_context is not None:
        context.update(extra_context)
    return render(request, template, context)

在模板中

<h2>Entries:</h2>
<div class="endless_page_template">
    {% include page_template %}
</div>

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