User Tools

Site Tools


django

This is an old revision of the document!


Django

Django est un framework web sur Python inspiré en partie de Ruby on Rails. Ses Leitmotiv sont:

  • Faible couplage
  • Aussi peu de code que possible
  • Développement rapide
  • Ne pas se répéter
  • Le très pythonique “L'explicite est mieux que l'implicite”

Source: http://docs.djangoproject.com/en/dev/misc/design-philosophies/

Ressources: django-fr

Création d'un projet

Source: http://docs.django-fr.org/intro/tutorial01.html

  • S'assurer que Django est bien installé
  • Se placer dans le répertoire de son choix et taper:
    django-admin.py startproject mysite
    • Cela crée:
      • Un répertoire nommé mysite
      • __init__.py (package python)
      • manage.py (utilitaire CLI de gestion du projet)
      • settings.py (configuration)
      • urls.py (controleur)

Serveur de dev

Pour le lancer:

python manage.py runserver
# ou:
python manage.py runserver 0.0.0.0:8000

, ilest accessible à l'adesse: http://127.0.0.1:8000

Base de données

Editer settings.py:

  • DATABASE_ENGINE: 'postgresql_psycopg2', 'mysql' ou 'sqlite3'.
  • DATABASE_NAME: obvious!
  • DATABASE_USER: obvious!
  • DATABASE_PASSWORD: obvious!
  • DATABASE_HOST: obvious!

SyncDB

SyncDB est une option de manage.py; elle permet de s'assurer que la base possède une structure apte à héberger les données de toutes les applications indiquées dans les INSTALLED_APPS de settings.py. Elle crée donc ce qu'il faut en plus si c'est nécessaire.

python manage.py syncdb

Création d'une application

Dans le répertoire mysite:

python manage.py startapp polls

Cela crée un nouveau répertoire appelé polls avec dedans:

polls/
    __init__.py
    models.py
    views.py
  • models.py contient le modèle des données (généré par l'ORM via SyncDB).
  • views.py contient les vues.

Admin

Django comporte une module d'administration pré-installé. Pour l'activer:

  • Ajouter django.contrib.admin dans votre option INSTALLED_APPS.
  • Lancer
    python manage.py syncdb

    . Puisque vous avez ajouté une nouvelle application à INSTALLED_APPS, les tables de la base de données ont besoin d’être mises à jour.

  • Editer urls.py en décommentant le pattern adéquat (commençant sans doute par (r'^admin)
  • Rendre une appli modifiable par l'admin:
    from mysite.polls.models import Poll
    from django.contrib import admin
     
    admin.site.register(Poll)

    dans admin.py

django.1277646234.txt.gz · Last modified: 2010/06/27 15:43 by ginko