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!
python django templates block
Commentami!