Solution Exercice 3 django : utiliser la classe Templateview

Exercice 3

Créer un projet Django nommé myproject avec le template Bootstrap fourni (lien de téléchargement). On vous demande de créer un fichier de démarrage du projet nommé index.html qui doit hériter du fichier base.html, en utilisant la classe TemplateView.

Solution

1. Créer la structure standard Django

A l'aide d'un terminal exécute les commandes:

On obtient alors la structure de notre projet:

2. Réglage du templates et des fichiers static du projet

Dans le même dossier que manage.py, On dois effectuer les changements suivant:

  1. Dossier static/: On ajoute le dossier static/ avec tout le contenu qu'il englobe à la racine du projet
  2. Fichier de base du template : Le fichier base.html doit être mis au sein du dossier templates/ (à la racine du dossier)
  3. Template de démarrage : A la racine du dossier templates/ , on crée un fichier index.html qui sera utilisé comme template du démarrage du projet

On obtient finalement la structure complète de notre projet doté du répertoire templates/ (sans lequel on ne pourra démarrer notre projet sur une page de template ) et du dossier static/ (sans lequel on ne pourra appliquer du css externe) tous les deux correctement configurer au niveau du fichier myproject/settings.py:

3. Configurer settings.py (templates + fichiers statiques)

Au niveau du fichier myproject/settings.py , on déclare le répertoire du template en ajoutant le code suivant: En haut du fichier settings.py:

Et ensuite juste après MIDDLEWARE = [....], on ajoute le code suivant:

Ensuite juste après STATIC_URL = "static/" on ajoute la configuration complète des fichiers statiques:

4. Adapter base.html pour Django (static)

Dans le répertoire templates/base.html, tout en haut on doit ajouter le code suivant:

Faute de quoi, les fichiers statiques ne seront pas ajoutés! Ensuite on remplace tous les chemins relatifs par {% static %} :

Exemples:

Dans notre cas on doit ajouter le fichiers style.css:

Finalement: Le fichier base.html doit contenir le tag permettant d'ajouter le contenu des pages dans un emplacement approprié, si vous ne le trouvez pas, ajoutez le à son emplacement spécifique:

5. Utiliser TemplateView sans créer d’app

Nous allons maintenant configurer la page d'accueil en utilisant la classe Templateview: TemplateView est une vue générique de Django qui permet d’afficher directement un template HTML sans écrire de logique métier. Elle est idéale pour les pages statiques (accueil, à propos, contact) tout en restant intégrée au système de routage Django. Dans myproject/urls.py (le fichier dans le dossier interne myproject/), on modifier le code de la façon suivante:

7. Lancer et tester le projet

Puis dans la barre d'adresse du navigateur on accède à la page du démarrage du projet en tapant l'adresse suivante:

 

 


Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web
: www.tresfacile.net
Chaine YouTube
: https://www.youtube.com/user/InformatiquesFacile
Me contacter
: https://www.tresfacile.net/me-contacter/


 

Leave a Reply

Your email address will not be published. Required fields are marked *