django-endless-pagination, похоже, не использует AJAX

Я пытаюсь использовать django-endless-pagination в моем проекте, но результаты, похоже, не используют AJAX. Моя цель - разбиение на страницы в стиле твиттера, когда вы прокручиваете страницу вниз, и дополнительные элементы отображаются без обновления страницы.

Это мой вид кода:

@page_template('ajax_test_page.htm')
def ajax_test(request, template='ajax_test.htm', extra_context=None):
    context = { 'dreams': Dream.objects.all() }
    if extra_context is not None:
        context.update(extra_context)
    return render_to_response(template, context, context_instance=RequestContext(request))

Это ajax_test.html:

<!DOCTYPE html>
{% block js %}
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="{{ STATIC_URL }}endless_pagination/js/endless-pagination.js"></script>
<script>$.endlessPaginate({
    paginateOnScroll: true,
    paginateOnScrollMargin: 20
    });
</script>
{% endblock %}

<h2>Ajax Test</h2>
{% include page_template %}

И это ajax_test_page.htm:

{% load endless %}

{% paginate dreams %}
<div>
{% for dream in dreams %}
    Dream title: {{ dream.title }}<br>
{% endfor %}
</div>
{% show_more %}

Результат, который я получаю, ничем не отличается от использования встроенного в Django paginator. Я вижу список из десяти записей и ссылку "еще"; когда я нажимаю ссылку "больше", меня перенаправляют на "/ajax_test/?page=2", что включает обновление всей страницы (а не добавление нового набора записей), и это не то, что я хочу сделать. Прокрутка к нижней части также не имеет никакого эффекта, несмотря на то, что для этого установлены флаги.

Я даже полностью отключил JavaScript в браузере, и он ничего не изменил, означая, что JavaScript почему-то просто полностью игнорируется. Те же результаты в Chrome и Firefox.

Что я делаю неправильно?

2 ответа

Я столкнулся с той же проблемой. Вы должны обернуть звонок endlessPaginate с

$(document).ready(function() {
    $.endlessPaginate({
        paginateOnScroll: true,
        paginateOnScrollMargin: 20
    });
});

Мы исправим документацию как можно скорее

Я не уверен, но вместо

{{ STATIC_URL }}endless_pagination/js/endless-pagination.js

попробуйте использовать эту форму

{% static "endless_pagination/js/endless-pagination.js" %}

Не забудьте запустить python manage.py collectstatic перед перезапуском вашего сервера.

Другие вопросы по тегам