Video Corso Django 1.11 - Programmare in Python

Crea il Tuo Blog con Django 1.11 e Bootstrap 3.3.7

08: Renderizzare Post Singoli

Utilizzeremo una delle Generic Display Views anche per quanto riguarda i post singoli. Vedremo come creare una funzione view per i post singoli nel dettaglio in una serie successiva.

Nello specifico, stavolta useremo Detail View

Avendola già importata, ci basta integrarla nel file urls.py dell'applicazione, in questo modo:

urlpatterns = [
    url(r'^$', ListView.as_view(
        queryset = Post.objects.all().order_by("-data"),
        template_name = "lista_post.html"), name = "lista"),

    url(r'^(?P<id>\d+)/(?P<slug>[\w-]+)/$', DetailView.as_view(
        model = Post,
        template_name = "post_singolo.html",), name="singolo"),

    url(r'^contatti/$', posts_views.contatti, name="contatti"),
]

Come vedete, abbiamo passato solo due parametri: il model e il template. La funzione penserà a fare il rendering per noi!

Dobbiamo, chiaramente, fare anche qualche modifica al template "post_singolo.html", in modo da prepararlo ad accogliere il contenuto che vogliamo visualizzare. Nello specifico ci interessano Titolo del Post, la Data e, chiaramente, il Contenuto! Anche stavolta usiamo alcuni filtri del Django Template Engine, nello specifico safe e linebreaks, in modo da far si che qualora utilizzassimo codice html questo venga interpretato correttamente.

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <title>Post Singolo</title>
</head>
    <body>

    <h1>{{ object.titolo }}</h1>
        <h4>{{ object.data }}</h4>
        {{ object.contenuto|safe|linebreaks }}

        </body>>
</html>
Menu della Serie