Herkese merhaba! Sayfa ürünlerini göster django pagination içinde gösterme
benim şablonları Django sayfalandırma kullanarak "52 adetten 1-10 gösteriliyor" gibi bir şey göstermek için nasıl anlamaya çalışıyorum. ben sayfalandırma kendisini gerçekleştirdiğini ancak hiçbir şey bu gereksinim hakkında aklıma geliyor. Herhangi bir fikrin var mı?cevap
bilmiyorum. the documentation'un gösterdiği gibi, tüm bu özellikler zaten kullanılabilir.
paginator nesneleri tüm sayfalarda nesnelerin toplam sayısını gösterir bir count
niteliği var ve Page
nesneler start_index
ve end_index
özelliklere sahiptir.
{{ page.start_index }} to {{ page.end_index }} of {{ page.paginator.count }}.
totalPages = math.ceil(float(totalRecords)/recordsPerPage)
veya
paginatorInstance.num_pages # this is there by default
, o kadar da zor değil miydi o?
django Paginator
amacı num_pages
özelliğine sahiptir. Görünümünüze doğru verileri yalnızca şablonunuza aktarabilir ve orada gösterebilirsiniz.
Yani bir (kaba) örnek olarak: şablon
showing {{start_count} - {{end_count}} of {{num_pages}}
current_page = ## input param
items_per_page = 10
paginator = Paginator(result, items_per_page)
...
return render_to_response('template.html',
{
'num_pages': paginator.num_pages,
'start_count': items_per_page * current_page + 1,
'end_count': (items_per_page * current_page + 1) + len(paginator(current_page).object_list)
'items_per_page': items_per_page
}
(Bir derleyici yararlanmadan bu kodu yazmış
görünümü, böylece testin
sadece şablon ve sonra gibi pagintator özelliklerine erişmek için paginator göndermek:
Yani, varsayarak size page
şablon bağlamını geçen {{offers.previous_page_number}}, {{offers.next_page_number}} {{offers.paginator.count}} –
gerpaick
Sahnelerin arkasında daha karmaşık bir şey yapmanız gerekecek. Ve lütfen ben bir python dev olduğumda, werkzeug ve jinja2'yi uzun zamandır kullanıyor olduğumu ve django sözdiziminin biraz paslı olduğunu lütfen unutmayın. Ayrıca bu, kuru kodluydu (tarayıcıda buraya yazdığım gibi) ve amaçlanan şekilde çalıştığından emin olmak için test edilmelidir.
Genellikle bir sayfalama nesnesi oluşturmak ve sayfalar tarafından filtre edilmeyen bir sorgu nesnesi geçmek gerekir, ayrıca nasıl sayfa başına kadar ve hangi sayfa sende bunu söyleyebilir.
Yani için belli belirsiz benzer bir şey: o zaman
Paginator(query, objects_per_page, current_page_number)
Ve şablonuna çıkan paginator nesnesi iletir.
def __init__(self, query, objects_per_page, current_page_number):
self.total = query.count()
self.per_page = objects_per_page
self.current_page_number = current_page_number
self.lower_limit = objects_per_page * current_page_number
self.upper_limit = objects_per_page * (current_page_number + 1)
if self.upper_limit > self.total:
self.upper_limit = self.total
self.objects = query[self.lower_limit - 1:self.upper_limit - 1]
Sonra şablonda yapacağın şey hazır olduğunuzda
Showing {{paginator.lower_limit}}-{{paginator.upper_limit}} of {{paginator.total}}
gibi Ve daha sonra: Eğer benzer bir şey yapmak ister paginator en init İçinde sadece paginator.objects üzerinde yineleme olabilecek nesne tekrarlatacak.
Bunu size temiz bir şekilde yapabilirsiniz dair genel bir fikir verir umarım. Herkes bu kadar durumu karıştırma neden
Peharps, alt_dizini ve upper_limit özniteliklerini eklemek için django.core.paginator.Paginator sınıfının alt sınıfını daha iyi sınıflandırır. – webgonewild
Mümkün, django'ları bir süre sessiz kullanmıyorum. Ayrıca num_pages oturduğum yerden geçersiz bir statü gibi görünüyor. Toplam sayfa sayısını değil, toplam nesnelerin sayısını istiyor görünüyorsunuz, bununla birlikte django paginator'ında bunun için başka bir çözüm olabilir. –
- 1. Raylar sayfa göster çalışmıyor
- 2. Magento tam ürün ismini göster Ürün gösterme
- 3. Eşleşen tabloları göster tabloları ile gösterme adı
- 4. Geçerli sayfa gösterme paylaşımını kaydet
- 5. Pagerfanta symfony Pagination
- 6. django-pagination kullanırken doğru nesne numaralarını nasıl gösteririm?
- 7. Bu Sayfa Göster Bu Else Bu Göster Göster
- 8. wso2 ürünlerini nasıl birleştirirsiniz?
- 9. ElasticSearch Pagination & Sorting
- 10. PDO'da pagination ekleme
- 11. Bir DialogFragment içinde ConstraintLayout Gösterme
- 12. Python + Django sayfa yönlendirmesi
- 13. Sayfa bulunamadı 404 Django?
- 14. Django uygulaması, sayfa yenileme
- 15. Django ana sayfa nasıl ayarlanır
- 16. Ereader-Style Pagination
- 17. Mongongeng kullanarak pagination nasıl yapılır?
- 18. django içinde sonsuz kaydırma
- 19. django: grup kullanıcılarını gösterme admin olarak sayma
- 20. Django-sayfalama sayfa başına birden fazla sayfalama yapabilir mi?
- 21. Oracle ve Pagination
- 22. Sayfa sonu (yeni sayfa) paftalar içinde
- 23. removeView (Göster) AdapterView içinde desteklenmiyor
- 24. Zorlukları dizinler içinde göster powershell
- 25. kodlamada ajax içinde doğrulamayı göster
- 26. Gösterme sırasında GIF Resmi Gösterme
- 27. Django Yönetici 'Sayfa bulunamadı/admin/
- 28. opencart 1.5 mağazada mağaza/mağaza gösterme sayısını göster
- 29. Xcode4 tüm çıktıları göster (kaldır "Yalnızca ilk 200 bildirimi gösterme")
- 30. Android Sayfa düzenleme içinde sayfa kaydırma Görüntü kaydırma sayfa
whoa! Bu tam olarak aradığım şey. Teşekkürler! – webgonewild
Bu çok yardımcı oldu - teşekkürler. Sadece şunu belirtmeliyim ki, 'ListView' içinde varsayılan olarak nesne 'page' yerine' page_obj' olarak adlandırılır. – BigglesZX