Dépot Copyright

 CopyrightFrance.com

Cours Python

  1. Introduction à Python
  2. Ide Python
  3. Premier programme Python
  4. Les variables en Python
  5. Les commentaires en Python
  6. Les opérateurs Python
  7. Les fonctions en Python
  8. Structure If else... Python
  9. For While Python
  10. Formatage des chaines Python
  11. Les listes en Python
  12. Les tuples en Python
  13. Les dictionnaires en Python
  14. Les ensembles en Python
  15. POO et classes en Python
  16. Héritage en Python
  17. Les exceptions en Python
  18. Le gestionnaire des packages pip
  19. Télécharger le cours complet
  20. Les modules en Python
  21. Le module OS
  22. Module datetime Python
  23. Le module Platform
  24. Le module virtualenv
  25. Le Module PyInstaller
  26. Les fichiers en Python
  27. Les fichiers ouverture & lecture
  28. Les fichiers ouverture & écriture
  29. Les fichiers CSV en Python
  30. Les Fichiers JSON En Python
  31. Fichier de configuration .ini
  32. Python & SQLite database
  33. DB Browser for SQLite
  34. Interface Graphique Tkinter
  35. Les Windgets Tkinter
  36. Bibliothèque d'images PILLOW
  37. Module de style tkinter.ttk
  38. Liste déroulante ttk Combobox
  39. le module filedialog
  40. Projet: Création éditeur de texte
  41. Bibliothèque graphique wxPython
  42. Bibliothèque graphique PyQt5
  43. Télécharger le cours complet
  44. Le module Math
  45. La bibliothèque matplotlib
  46. Le module Python statistics
  47. Bibliothèque Sympy
  48. Bibliothèques Numpy
  49. Bibliothèques Scipy
  50. Bibliothèques Pandas
  51. Bibliothèques Scikit Learn
  52. Bibliothèques TensorFlow
  53. Python Machine Learning
  54. Introduction à Django
  55. Installation de Django
  56. Premier Projet Django
  57. Interface administrateur
  58. Créer une application django
  59. Les modèles de django
  60. Templates Django
  61. Les formulaires Django
  62. Fichiers Statiques Django
  63. Exercices Python: les bases
  64. Exercices Python: les classes
  65. Exercices Python: les fichiers
  66. Tous les TP Python
  67. Création Editeur de Texte en Python Partie1
  68. Carnet d'adresse en Python
  69. Formation Python-partie1

Utilisateurs en ligne

Users: 6 Guests, 1 Robot

Annonces Google

Django fournit un moyen efficace et pratique pour générer et afficher des pages HTML dynamiques en utilisant son système de template (template system).

Un modèle se compose d’une partie statiques pour la sortie HTML,  ainsi que d’une syntaxe spéciale décrivant comment le contenu dynamique sera inséré.

Dans un fichier HTML, nous ne pouvons pas écrire de code python car le code n’est interprété que par l’interpréteur python et non par le navigateur. Nous savons que HTML est un langage de balisage statique, tandis que Python est un langage de programmation dynamique, pour cela on dois passer par le billet du template.

1 –  Configuration du système de template de django

Avant de configurer le système de template, il faut au préalable

  1. Créer un répertoire nommé templates à la racine de notre application myapp
  2. Créer un fichier index.html au sein du répertoire ‘templates’
myapp/templates/index.html
   <!DOCTYPE html>  
    <html>  
    <head>  
        <meta charset="UTF-8">  
        <title>Index</title>  
    </head>  
    <body>  
    <h2>Affichage du contenu via un template!!!</h2>  
    </body>  
    </html> 

Pour configurer le système de template, nous devons fournir certaines entrées dans le fichier mysite/settings.py

    TEMPLATES = [  
        {  
            'BACKEND': 'django.template.backends.django.DjangoTemplates',  
            'DIRS': [os.path.join(BASE_DIR,'templates')],  
            'APP_DIRS': True,  
            'OPTIONS': {  
                'context_processors': [  
                    'django.template.context_processors.debug',  
                    'django.template.context_processors.request',  
                    'django.contrib.auth.context_processors.auth',  
                    'django.contrib.messages.context_processors.messages',  
                ],  
            },  
        },  
    ]

Ce code mentionne au système de django que le répertoire de template est par défaut ‘templates’

2 – Chargement du template

Pour charger le template dans une application django, il suffit de l’appeler dans le fichier views.py via la méthode get_template():

myapp/views.py
from django.shortcuts import render  
#importing loading from django template  
from django.template import loader  
# Create your views here.  
from django.http import HttpResponse  
def index(request): 
        # getting our template
        template = loader.get_template('index.html')
        # rendering the template in HttpResponse  
        return HttpResponse(template.render())

3 – Variables de template django

Le système de template Django utilise une syntaxe spécifique pour utiliser et manipuler les variables, les balises, les expressions, etc.

Les variables de template sont accessibles par {{ }} (accolades doubles).

Exemple. (pour une variable nom ayant la valeur ‘Houssam’)

Bienvenue {{nom}}

Ce qui affiche à l’exécution:
Affiche à la sortie:

Bienvenue Houssam

4 – Exemple de variable de template django

Les variables de templates sont déclarées au niveau du fichier views.py et visualisées au niveau du fichier index.html du template.

Exemple

myapp/views.py
from django.shortcuts import render  
#importing loading from django template  
from django.template import loader  
# Create your views here.  
from django.http import HttpResponse  
def index(request):  
    template = loader.get_template('index.html') # getting our template  
    name = {  
        'centre':'CRMEF OUJDA'  
    } 
    # rendering the template in HttpResponse
    return HttpResponse(template.render(name)) 

La variable ‘centre’ peut être maintenant appelée au niveau du fichier index.html du template:

myapp/templates/index.html
    <!DOCTYPE html>  
    <html>  
    <head>  
        <meta charset="UTF-8">  
        <title>Index</title>  
    </head>  
    <body>  
    <h2>Affichage du contenu avec template!!!</h2>  
    <h3>Bienvenue au : {{ centre }}</h3>  
    </body>  
    </html> 

Ce qui affiche à la sortie:

5 – Les balises (tags en anglais) du template système

Dans un template, les balises (tags en anglais) fournissent une logique dans le processus de rendu. Une balise de template peut être utilisée dans les cas suivants:

  1. pour produire du contenu,
  2. servir de structure de contrôle (une instruction if ou pour une boucle),
  3. récupérer du contenu d’une base de données
  4. permettre l’accès à d’autres balises de modèle.

Les balises de template sont entourées de {% et% } et peuvent contenir n’importe quel type de structure et variable.

5.1 – Cas de la structure conditionnelle if

{% if condition %}     
Affichage des resultats 
{% else %}     
autres resultats 
{% endif %}

Exemple. structure if … else …

On définit une variable  age au niveau du fichier myapp/views.py

myapp/views.py
from django.shortcuts import render
#importing loading from django template
from django.template import loader
# Create your views here.
from django.http import HttpResponse
def index(request):
    template = loader.get_template('index.html') # getting our template
    Age = {
        'age':14,
    }
    # rendering the template in HttpResponse
    return HttpResponse(template.render(Age))

On applique la structure conditionnelle If…Else… au niveau du fichier myapp/templates/index.html

myapp/templates/index.html
    <html>
    <head>
        <meta charset="UTF-8">
        <title> Index </title>
    </head>
    <body>
    <h2> Test majeur ou mineur ! </h2>
    <h3> {% if age < 18 %}</h3>
    <p> Ton age est: {{ age }}  vous etes mineur ! </p>
        {% else %}
    <p> Ton age est: {{ age }} vous êtes majeur ! </p>
        {% endif %}
    </body>
    </html>

5.2 – La balise Pour…FinPour (for tag)

La balise for nous permet le parcourt d’une séquence. Nous pouvons utiliser la balise for pour exécuter des instructions répétées, pour  parcourir le contenu d’une liste, d’un tuple, d’un dictionnaire, etc. Voici la syntaxe de la balise for:

{% for x in list  %}
    <p>La valeur de  x est :  {{ x }}</p>
{% endfor %}

5.3 – Les commentaires

Le système de template de django permet de gérer aussi les commentaires via la syntaxe suivante:

{# Ceci est un commentaire sur une seule ligne #}

Le commentaire que vous écrivez à l’aide de cette syntaxe ne sera pas rendu dans le code source HTML. De plus, vous ne pouvez pas développer ce commentaire sur plusieurs lignes. Par exemple:

{# Ceci n'est pas
un commentaire !#}

Afin de pouvoir écrire des commentaires sur plusieurs lignes, on utilise la syntaxe suivante:

{% comment%}
Ceci est un commentaire
étalé sur
plusieurs lignes!
{% endcomment%}

 

 

Younes Derfoufi
CRMEF OUJDA

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload the CAPTCHA.