oujood.com

Django Template Variables

Les variables émettent une valeur à partir du contexte, qui est un objet faisant correspondre des clés à des valeurs.
L'objet contextuel que nous avons envoyé depuis la vue est accessible dans le modèle à l'aide des variables de Django Template.

chercher |

Variables dans les templates

Avant de commencer créez une application dans le projet monmonde que nous avons créé lors des chapitres précédents. Moi je vais nommer cette application « testes » car elle va nous servir de tester les exemples dans ce qui suivra dans cette section sur le langage de Template python.

Si vous ne savez pas comment créer une application consultez notre tutoriel Créer une application et le chapitre qui le suit Django Views, ainsi que le tutoriel sur Django Templates.

Dans les templates (modèles) Django, vous pouvez utiliser des variables en les plaçant à l'intérieur de doubles crochets {{ }} :

Exemple template.html :

  Copier le code

<h1>Bonjour {{ variable_nom }}, comment allez-vous ?</h1>

Créer une variable dans une vue

La variable Nom dans l'exemple ci-dessus a été envoyée au template via une vue :

Le fichier views qui va avec views.py :

  Copier le code

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'variable_nom': 'Robert',
  }
  return HttpResponse(template.render(context, request))
Comme vous pouvez le constater dans la vue ci-dessus, nous créons un objet nommé context et le remplissons de données, puis nous l'envoyons comme premier paramètre dans la fonction template.render().

Création de variables dans le template (" modèle ")

Vous pouvez également créer des variables directement dans le modèle, en utilisant la balise {% with %} :

Exemple template.html :

  Copier le code

{% with variable_nom = 'Robert' %}
<h1>Bonjour {{ variable_nom }}, comment allez-vous ?</h1>

Données provenant d'un model

L'exemple ci-dessus montre une approche simple de la création et de l'utilisation de variables dans un template.

Normalement, la plupart des données externes que vous souhaitez utiliser dans un template, proviennent d'un model.

Nous avons créé un model dans les chapitres précédents, dans lequel nous avons créé une classe appelée Membres, nous allons utiliser ce modèle dans les prochains chapitres de ce tutoriel.

Pour cela on doit importer ce model dans le model de notre application présente.

Ouvrez le model testes/models.py et ajouter le code suivant :
Fichier testes/models.py

  Copier le code

from django.db import models
from membres.models import Membres

# Create your models here.
Pour obtenir des données du model Membres, nous devrons l'importer dans le fichier de vues et en extraire les données dans la vue :
Fichier testes/views.py :

  Copier le code

from django.http import HttpResponse, HttpResponseRedirect
from django.template import loader
from .models import Membres

def testing(request):
  mesmembres = Membres.objects.all().values()
  template = loader.get_template('template.html')
  context = {
    'mesmembres': mesmembres,
  }
  return HttpResponse(template.render(context, request))
Maintenant nous pouvons utiliser les données dans le template :

Fichier testes/template.html :

  Copier le code

<table><tr><th>Prénom</th></tr>
  {% for x in mesmembres %}
    <tr><td>{{ x.prenom }}</td></tr>
  {% endfor %}
</table>
Nous avons utilisé dans cet exemple la balise {%for%} pour extraire les données.
Vous apprendrez plus sur les balises du langage de template dans le chapitre suivant.


Voir aussi nos tutoriel :

fonction str_replace

Remplace toutes les occurrences dans une chaîne

fonction strtolower, strtolower

Renvoie une chaîne en minuscules

fonction nl_langinfo

Rassemble des informations sur la langue et la configuration locale