Найти - Пользователи
Полная версия: Пагинация
Начало » Django » Пагинация
1 2
dnstuff
Здравствуйте!
Использую Django 1.5, попробовал несколько приложений для пагинации, ни одно не заработало. Видимо, слишком старые, не обновлялись 3-4 года на гите.
Сейчас пробую django-pure-pagination (вроде посвежее)
models:
class BlogMain(models.Model):
    title = models.CharField(max_length=100, unique=True)
    slug = models.SlugField(max_length=100, unique=True)
    description=models.TextField(max_length=300)
    body = models.TextField()
    timestamp=models.DateTimeField(db_index=True)
   class Meta:
        ordering=('-timestamp',)
view:
def home(request):
	try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1
	posts=BlogMain.objects.all()
	p = Paginator(posts, request=request)
	pagposts=p.page(page)
	return render_to_response('home.html',{'posts': pagposts}, context_instance=RequestContext(request))

Ошибка
TypeError
Exception Value:
__init__() takes at least 3 arguments (3 given)

в строке p = Paginator(posts, request=request)

Помогите, пожалуйста, либо с этим разобраться, либо посоветуйте актуальную батарейку для пагинации.
Спасибо!
Rodegast
https://pypi.python.org/pypi/django-pagination
qoqenator
p = Paginator(posts, per_page, request=request)
FishHook
В CBV паджинация есть из коробки
from django.views.generic.list import ListView
class MyListView(ListView): 
    template_name = 'book_list.html' 
    paginate_by = 10 
    def get_queryset(self):
        self.publisher = get_object_or_404(Publisher, name=self.args[0])
        return Book.objects.filter(publisher=self.publisher)
dnstuff
Всем спасибо. Остановился на https://github.com/frankban/django-endless-pagination.git
buddha
А можно поинтересоваться, чем родная пагинация не устроила?
https://docs.djangoproject.com/en/1.5/topics/pagination/
dnstuff
buddha
А можно поинтересоваться, чем родная пагинация не устроила?https://docs.djangoproject.com/en/1.5/topics/pagination/
Может, она и хороша, но горький опыт научил меня, что подавляющее большинство коробочных решений джанго - откровенный хлам. Неудивительно, что в документации появляются фразы типа: Django’s comment framework has been deprecated and is no longer supported. Most users will be better served with a custom solution, or a hosted product like Disqus. Отсылать к таким решениям? И это после всех пафосных рассуждений о Django Way, MTV, DRY… Позорище!

И количество сторонних пагинаторов доказывает, что не я один так считаю.

qoqenator
dnstuff
Может, она и хороша, но горький опыт научил меня, что подавляющее большинство коробочных решений джанго - откровенный хлам.
….
Позорище!

Уважаемый, по уровню ваших вопросов, видно, что вы далеко не специалист. Не кажется ли вам, что при таком уровне владения предметом, выносить категорические суждения не прилично?

Комментарии - слишком высокоуровневое приложение, чтобы его можно было сделать и гибким и производительным для всех.
А все паджинаторы, которые вы нагуглили - обвязки вокруг коробочного, которые просто расширяют её. Откройте исходники и почитайте, вместо того чтобы писать глупости.
dnstuff
qoqenator
Я ответил на заданный мне вопрос. Надеюсь, на личное мнение я имею право?
А все паджинаторы, которые вы нагуглили - обвязки вокруг коробочного, которые просто расширяют её.
Да. Поэтому я взял уже обработанное напильником решение, а не джанговскую заготовку.
buddha
Вообще сама пагинация в себя не может включать чего-то такого, что нельзя было бы самоу доделать. Это же просто странички порциями по GET запросу с параметром.
Сам я не раз брал родную пагинацию и всего мне хватало. К тому же там есть всякие параметры , которыми можно отлично пользоваться. А всякие примочки всё равно нужно допиливать через JS на клиентской стороне.

А вот сразу так думать, что стоит брать стороннее приложение, не выяснив возможностей коробочного, по моему это очень глубокое заблуждение. Тем более как сказал выше qoqenator про обёртку…

Про приложение комментариев я не знал. Щас почитаю. Но и с ними не особо стремился брать сторонние решения. Хотя комментарии куда сложнее пагинации.
Я к тому, что в случае пагинации, оно того не стоит брать стороннее приложение… Как то так.
Самый главный минус в том, что своей головой меньше думаем в таком случае(хотя в объемный задачах это большой плюс)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB