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
перед перезапуском вашего сервера.