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

Un tableau dynamique avec jQuery en quelques lignes

Bonjour,

Voici un small exemple d’un tableau dynamique avec id incrémental et jQuery powered :P

    <button id="add_line">Ajouter une ligne</button>
    <table id="matable" border="1">
        <tr id="row_1">
            <td>Une cellule</td>
            <td>Une cellule</td>
            <td>Une cellule</td>
        </tr>
    </table>
$("#add_line").click(function () {

    var last_row = $('#matable tr:last');
    var new_id = parseInt($(last_row).attr('id').split("_")[1]) + 1;
    $(last_row).clone().insertAfter('#matable tr:last').attr('id', 'row_' + new_id);

});

Django & Python 2.6 avec MySQL 5.1

Bonjour,

Voici un petit tutoriel pour mettre en place Django dans un environnement Windows avec Python 2.6 et MySQL 5.1 comme base de donnée.

Django est un des nombreux frameworks web, réalisés pour la création de site web. Le langage utilisé est le langage python, un langage de script qui est très orienté objet. Django est en concurrence avec d’autres frameworks du même type, comme RubyOnRails qui utilise le langage Ruby, ou Zend qui utilise le langage PHP. La plupart de ces frameworks se doivent d’être simple d’utilisation, pour faciliter le développement de site web. Un site web réalisé avec Django peut être hébergé sur les serveurs de google avec Google App Engine (GAE).

1. Téléchargement des programmes nécessaire :

Lire la suite

Play! un Django like à la sauce java

Bonjour,

Mon première article porte sur un framework java qui semble jeune mais qui fera sûrement parler de lui à l’avenir !
Play! est un framework web développé par la société zenexity.

Après une installation et quelques manipulation, les personnes familière de ce genre d’outil retrouverons avec facilité
leurs marque, nous retrouverons les commandes basic des frameworks web tel que Django ou Ruby on Rails :

Pour démarrer un nouveau projet :

Play start myapp

Vous trouverez alors une nouvelle arborescence, prête à démarrer.
Le modèle est semblable à Django, avec le traditionnelle MVC (Modèle, Vue, Contrôleur).

Une différence a noté tout de même quand à l’utilisation première, vous ne trouverez pas de commande de synchronisation comme syncdb pour Django ou le rake: db migrate de Ruby On rails.

En effet la façon de travailler en java est un peut différente, et le framework Play! s’appuie sur une couche JPA et des annotation comme @entity pour cela. Les entité son donc automatiquement créées en base de donnée si elle ne le sont pas déjà, c’est tout à fait transparent et automatique.

Twitter me

A venir -> installation du framework sur MAC OSX et Windows