Когда вы создаете Paginator, вы передаете количество записей на странице. Вы должны получить это значение от пользователя, сохранить его и передать его.
Например, это может быть пользовательская настройка - если да, добавьте ее в свою пользовательскую настройку Model, соберите ее в форме, сохраните его, затем получите модель из db перед созданием Paginator и передайте ее.
Или это может быть просто переменная сеанса, заданная из элемента на странице - снова, поместите элемент на страницу , используйте его для установки переменной сеанса и передайте его в объект Paginator.
Похоже, она была покрыта в этом вопросе:
Flexible pagination in Django
EDIT: Чтение комментария.
Если вы читаете источник,
http://code.google.com/p/django-pagination/source/browse/trunk/pagination/templatetags/pagination_tags.py
Тег, autopaginate принимает ряд или переменную шаблона.
if isinstance(paginate_by, int):
self.paginate_by = paginate_by
else:
self.paginate_by = template.Variable(paginate_by)
Итак, попробуйте передать в переменной шаблона с вашей точки зрения 'page_by':10
и использования {% autopaginate list page_by %}
- то вы можете установить page_by
из строки запроса, дБ, или что вы хотите.
Я уже посмотрел на этот вопрос ... исправьте меня, если я ошибаюсь, но этот подход подходит для стандартного Django paginator. Я использую django-pagination (http://code.google.com/p/django-pagination/) приложение – Stephen
спасибо Лу .... должно было знать twas это просто :) – Stephen