Modifications entre les versions 6 et 7
Version 6 à la date du 2012-08-29 20:52:23
Taille: 4777
Éditeur: DavinBaragiotta
Commentaire:
Version 7 à la date du 2012-08-30 00:54:48
Taille: 5114
Éditeur: DavinBaragiotta
Commentaire: intro corrigée
Texte supprimé. Texte ajouté.
Ligne 25: Ligne 25:
  * Vérification des versions :
  {{{
>>> import django
>>> django.get_version()
'1.4'
>>> import south
>>> south.__version__
'0.7.4.'
}}}
 * Django : version recommandée à l'AUF
  * la version qui vient avec debian sur les serveurs de production
  * sauf si vous êtes prêt à assurer une maintenance manuelle de Django

Django : Architecture d'un projet, Backend (admin)


INTRODUCTION

  • Objectifs
    • connaître l'architecture d'un projet : principaux fichiers
    • gérer les données dans le backend (admin)

  • Documentation
  • Environnement technique
    • Python >= 2.5

    • Django 1.4
    • South 0.7.4 (optionnel, recommandé)
    • Vérification des versions :
      >>> import django
      >>> django.get_version()
      '1.4'
      >>> import south
      >>> south.__version__
      '0.7.4.'
  • Django : version recommandée à l'AUF
    • la version qui vient avec debian sur les serveurs de production
    • sauf si vous êtes prêt à assurer une maintenance manuelle de Django


PARTIE 1 : DÉVELOPPEMENT WEB AVEC DJANGO : ARCHITECTURE D'UN PROJET

Développement web

  • schéma : le développement web
    • rôle d'un framework web : aider à construire réponse à une requête
  • développement (DEV)
  • déploiement (PROD, TEST)

Django

Pourquoi django vs autre framework

  • all-in-one
  • admin : meilleur vendeur ;)

  • docs
  • communauté : utilisation répandue

Principaux fichiers

  • models.py
  • admin.py
  • urls.py
  • views.py
  • templates (HTML)

Projet : définition du besoin

La Direction de l'AUF souhaite pouvoir créer un répertoire des établissements du BMO.

(Ce n'est pas encore vrai pour le BMO mais des projets ananologues sont en cours dans d'autres régions : BECO, BAO, BAP...).

On veut gérer :

  • quels professeurs sont dans quels établissements
  • quelles formations donnent nos établissements membres
  • quels laboratoires de recherche sont dans nos établissements membres

Projet : modélisation

  • Personne
  • Etablissement
  • Formation
  • Laboratoire


PARTIE 2 : HANDS-ON : PROJET ET APPLICATIONS

Création du projet

Le projet se nomme "Répertoire du BMO".

django-admin.py startproject bmo_repertoire
cd bmo_repertoire
  • survol des fichiers générés

python manage.py runserver
  • settings.py
    • DATABASES

Création d'une application

python manage.py startapp personnes

Backend : gérer les données dans l'admin

  • urls.py

    activer admin : décommenter

    • import
    • autodiscover
    • url : admin/
  • http://127.0.0.1:8000/

  • settings.py
    • INSTALLED_APP

      • 'django.contrib.admin'
  • personnes/admin.py

    enregistrer modèles voir tutoriel Part 2

    from django.contrib import admin
    from personnes.models import *
    
    admin.site.register(Etablissement)
    admin.site.register(Personne)
  • http://127.0.0.1:8000/admin/

  • personnes/models.py

    ajouter des attributs (des champs) et des méthodes à nos modèles existants

    • Personne.prenom
    • Etablissement.sigle
    • def __unicode__(self):

  • delete bmo_repertoire.db
    rm bmo_repertoire.db
  • (re)création de la base de DB pour avoir tables avec même structure que nos modèles modifiés
    python manage.py syncdb
  • personnes/models.py

    ajouter une relation entre nos modèles

    • Personne.universite

Fixtures

Prépopuler le projet avec des données...

South

Gestion complète des migrations de données (structure et données de la DB).


CONCLUSION : POUR CONTINUER


Ateliers/Django/Backend/Support (dernière édition le 2012-08-31 05:21:57 par DavinBaragiotta)