Bonjour,
visiblement j'ai de grosses lacunes pour comprendre la "glue" entre les templates et vues dans Django, ce qui fait que je galère rien que pour afficher un formulaire et structurer mon code.
Je m'explique, j'ai fait :
- un projet Django 1.8.2 nommé 'test_projet'
- dans ce projet une application nommé 'my_app'
Dans le dossier 'static' qui est dans le dossier principal de mon projet, j'ai extrait Bootstrap 3.3.4, il contient donc les dossiers : css, fonts, js de de Bootstrap. Aucun autre fichier n'a été ajouté à ce dossier.
Dans le dossier 'templates', j'ai créé un dossier 'default' qui contintent un fichier base.html avec le template de base de Bootstrap :
Ma question est simpliste : comment faire pour que ce modèle serve de base à toute page que je créé dans mon application, qu'il serve de master-page en quelque sorte ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <title>Bootstrap 101 Template</title> <!-- Bootstrap --> <link href="css/bootstrap.min.css" rel="stylesheet"> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> {% block content %}{% endblock %} <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script> </body> </html>
En gros si j'ajoute un block 'content' dans cette master-page, le code de ma vue de devra qu'ajouter le contenu qui change.
Pour rappel la structure du projet ressemble à ça :
my_projet/
- my_app/
- static/
-- css/
-- fonts/
-- js/
- templates/
-- default/
--- base.html // template bootstrap de base
--- index.hml // fichier devant hériter du template bootstrp avec seulement les blocks qui changent
Partager