Utilizzare un template di base in Django

Mattepuffo's logo
Utilizzare un template di base in Django

Utilizzare un template di base in Django

Ho deciso di fare un sito usando Python Django.

Mi sono letto il tutorial base, e devo dire che è ben fatto.

Ma non spiega alcune cose che io reputo basiche, come avere un template di base.

Quindi vediamo come fare; per prima cosa nella vostra cartella dei templates create il file che farà da base:

{% load static %}
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" href="....">
    <link rel="stylesheet" type="text/css" href="{% static 'mf/style.css' %}">
</head>
<body>
<div class="page-header">
    <h1><a href="/">Sito web</a></h1>
</div>
<div class="content container">
    <div class="row">
        <div class="col-md-8">
            {% block content %}
            {% endblock %}
        </div>
    </div>
</div>
</body>
</html>

Abbiamo usato i block, che è dove inietteremo il contenuto delle altre nostre pagine.

Adesso aprite un file al quale volete applicare il template (ad esempio la home page):

{% extends 'mf/base.html' %}
{% block content %}
    {% if lavori %}
        <ul>
            {% for lavoro in lavori %}
              <li><a href="{% url 'mf:detail' lavoro.id %}">{{ lavoro.titolo }}</a></li>
            {% endfor %}
        </ul>
    {% else %}
        <p>Nessun lavoro registrato!</p>
    {% endif %}
{% endblock %}

Qui abbiamo indicato di estendere il template di base, e poi abbiamo messo il contenuto all'interno di un block.

Ovviemante potete fare molto più di questo; guardate la documentazione per qualche info in più.

Enjoy!


Condividi

Commentami!