10. Paginazione dei Post
Dobbiamo aggiungere il parametro paginate_by alla nostra ListView:
urlpatterns = [
url(r'^$', ListView.as_view(
queryset = Post.objects.all(),
template_name = "lista_post.html",
paginate_by = 5
),
name = "lista"),
]
E quindi aggiungere i tag di controllo associati alla clausola IF per verificare se sia presente un oggetto pagina precedente o successivo alla pagina che stiamo visualizzando (quindi se il numero di post è superiore al parametro passato a paginate_by) in modo da poter aggiungere il tasto "successivo" e "precedente":
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<title>Lista Post</title>
</head>
<body>
{% for object in object_list %}
<h1><a href="{{object.get_absolute_url}}/">{{object.titolo}}</a></h1>
<p>{{object.data}}</p>
{{ object.contenuto|safe|linebreaks|truncatewords_html:50 }}
{% endfor %}
<div>
{% if page_obj.has_previous %}
<a href="?page={{ page_obj.previous_page_number }}">Indietro</a>
{% endif %}
{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}">Avanti</a>
{% endif %}
</div>
</body>
</html>
1. Introduzione al Corso
10. Paginazione dei Post
11. Ereditarietà tra Templates
12. File Statici
13: Bootstrap 3.3.7
14. Barra di Navigazione
15. Footer e Immagini
16. Grid System
17. Live su Digital Ocean
2. Installazione e Configurazione di Django
3. L'Applicazione Posts
4. La Sezione ADMIN
5. Architettura MTV, Urls e Views
6. Templates e Views
7. HomePage: Lista dei Post
8. Renderizzare Post Singoli
9. get_absolute_url