我在我的项目中使用了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文件。)
我做错了什么?
答案 0 :(得分:1)
您需要在docs中添加示例中指定的JS。
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 %}