Django – Afficher les données d’une table

Dans l’article précédent, nous avons créée deux notes, voyons comment les afficher sur notre page web. Pour ce faire, nous allons utiliser une boucle for dans le template.

Avant tout, il faut sélectionner les notes dans la contrôleur et les envoyer au template :

            from django.shortcuts import render_to_response
            from myapp.models import Note
             
            def home(request):
                notes = Note.objects.all()
                return render_to_response('home.html', {'notes': notes})

Les deux éléments importants à retenir :

notes = Note.objects.all()

Je récupère tout les enregistrements Note (équivalent à select * from myapp_note)

{'notes': notes}

la variable notes est transmit sous le nom ‘notes’ à mon template (la page HTML).

Comme vous le voyez, nous n’utilisons pas de SQL pour récupérer les enregistrements en base de données. Ici tout est objet.


Voyons maintenant comment afficher les notes dans mon fichier html :

            {% extends "base.html" %}
             
            {% block content %}
             
            <h2>Todo :</h2> <br>
            <ul>
            {% for n in notes %}
                <li>{{ n.libelle }}</li>
            {% endfor %}
            </ul>
            {% endblock %}

Django nous permet d’itérer sur l’objet notes avec une boucle {% for n in notes %}. l’affichage de l’attribut se fait avec {{ objet.attribut }}.

Et voici le résultat :

affichage de notes

Dans le prochain article, nous verrons comment ajouter, supprimer et modifier un objet avec Django.

Django – le site d’administration

Cinquième article consacré à Django.

Django est livré avec un site d’administration de données, un peux comme phpMyAdmin. Il permet d’ajouter/créer et supprimer des objets en base de données. Cela est très utile quand vous débuter avec votre site web, et que tout n’est pas encore terminé. Voyons comment il fonctionne.

Pour commencer, il faut déclarer l’objet Note (créée dans l’article précédent) dans l’administration, sinon il n’apparaitra pas. Pour cela, créer un nouveau fichier admin.py dans le répertoire /mysite/myapp

            from myapp.models import Note
            from django.contrib import admin
             
            admin.site.register(Note)

Ensuite, il faut paramétrer différent fichier pour que l’administration soit en place :
Dans settings.py, dé-commentez les lignes relatives à l’administration :

            INSTALLED_APPS = (
                'django.contrib.auth',
                'django.contrib.contenttypes',
                'django.contrib.sessions',
                'django.contrib.sites',
                'django.contrib.messages',
                'django.contrib.staticfiles',
                'myapp',
                # Uncomment the next line to enable the admin:
                 'django.contrib.admin',
                # Uncomment the next line to enable admin documentation:
                 'django.contrib.admindocs',
            )

Ainsi que dans le fichier des urls :

            from django.conf.urls.defaults import patterns, include, url
            from django.contrib import admin
             
            admin.autodiscover()
             
            urlpatterns = patterns('',
                 url(r'^$', 'mysite.myapp.views.home', name='home'),
                 url(r'^admin/', include(admin.site.urls)),
            )

Resynchronisez la base de données avec la commande syncdb.

            manage.py syncdb
            Creating tables ...
            Creating table django_admin_log
            Installing custom SQL ...
            Installing indexes ...
            No fixtures found.

Redémarrer votre serveur, puis rendez-vous à la page http://127.0.0.1:8000/admin/.


Connecter vous avec le compte que vous avez crée précédemment en ligne de commande. (avec syncdb) Si tout ce passe bien vous arriverez à cette page :

admin django

Nous pouvons directement créer des Notes ici :
add notes
Cliquez sur Notes, puis Add Note.

Créer deux notes.

creation notes

Django – le modèle de données

Bienvenu dans le quatrième article consacré à Django.

Nous allons voir une des forces de Django : l’abstraction de la base de données. Django utilise un fichier modele.py, qui défini clairement les objets du projet. Tout comme le Python, Django est très orienté objet. Ici nous ne verrons pas de requêtes sql, de connexion à la base de données, ou de commit Cela pourrait paraître comme une limitation mais Django à été pensé et construit pour cela, vous avez donc une multitude d’outils pour aller aussi loin que vous le voulez.

Pour illustrer cela, nous allons créer une liste de note puis l’afficher.
Je considère que vous avez une base de donnée MySQL installée sur votre machine.

Premièrement, il faut définir la base de données dans le fichier settings.py :

Lire la suite

Django – Introduction aux templates

Bienvenu dans ce troisième article consacré à Django.

Nous allons maintenant voir comment Django intègre les pages HTML.

Pour cela nous allons modifier le fichier settings.py pour lui donner le répertoire ou serons placés les fichiers HTML, ce que Django nomme les templates. Commencer par ajouter le répertoire templates dans mysite/ puis modifier le fichier settings.py :

                    TEMPLATE_DIRS = (
                        "C:/mysite/templates"
                    )

Le chemin vers le dossier templates doit être absolut.

Lire la suite

Django – Premiers pas

Deuxième article sur Django, Hello world !

Nous allons commencer par écrire un premier projet qui affichera « Hello world » pour nous assurer que Django est prêt. Commencer par ouvrir une invite de commande, puis taper la commande suivante :

django-admin.py startproject mysite

placer vous dans le répertoire nouvellement crée : mysite.
Vous devriez retrouver les éléments suivant :

  • manage.py
  • settings.py
  • urls.py
  • __init__.py

Lire la suite

Django – installation

Je débute une petite série d’article traitant de Django que j’espère vous sera utile.

django logo

Partie I – l’installation

Sous windows

Au préalable, il faut installer python 2.7 que vous trouverez ici.

Vous aurez besoin de modifier votre variable PATH, en y ajoutant :

C:\Python27\;C:\Python27\Scripts;

(si vous avez installé python dans C:\Python27)

Lire la suite