Django :  Introduction

Introduction Dango - Chnstophe Brun
Interne
Sommaire

Python

Les environnements virtuels
Django

Le modele

Le backoffice

Le frontoffice

Les outils

Ressources

In...
Python ? ??

- Iangage simple,  interprété

o multiplate-forme,  mise en oeuvre tres simple

- de plus en plus d'applicati...
Exemple 1 :  Bonjour le monde

Un exemple simple

pr1nt "banjo r le monde"

Sinon

class Bon]ourLeMonde(): 
message ”R1en ...
print "nombre courant : 
print i

for i liste: 
prlnt "nombre courant : 
prlnt i

 

Introduction Dango — Christophe Brun
...
"Bonjour le monde"
doc
split doc
split
split(' ')

 

Introduction Dango — Christophe Brun
lnterne
Import,  librairies

o ne coder pas,  réutiliser
o exemple :  application console

cmd

class MaConsole(cmd Cmd): 

def do...
Version 2 de la console

- importance ou non du choix de la librairie
o remplacement de cmd par cmd2

pip install cmd2

o ...
Environnements virtuels

isolation du code

simplification du déploiement

reinstallation de l'environnement
mkvirtualenv ...
Creation de notre
environnement

o pip ou easyinstall :  pour install les libs
- mkvirtualenv

mkvirtualenv —-python: /usr...
Django

c'est un framework :  pour aller vite

Juste ce qu'iI faut en terme de lignes de code

pour élever des poney magiq...
Exemple :  Gestion de projet

fl Ressource

+naiiie:  varchar(50)
+ema1l:  email =  blaril<= True,  null= True
+responsabl....
C'est pa rti
o Installation :  trop facile

pip install Django= =1.7

- Creation de notre projet

django—admin startprojec...
Fichier de configuration

- fichier unique de configuration setting. py
0 configuration de la base de données
o locale
o a...
Systéme de migration

- Avant Django 1.7 :  Extension south
- Django 1.7 2 natif
o creation d'une migration pour un module...
Création d'une application

o initialisation de l'application

. /manage. py startapp [application]

o Activation de l'app...
Models

- Définition d'un modéle de données
o fichier models. py

o lancer un makemigrations

o lancer un migrate
- aller ...
Backoffice

- Activation du modéle dans l'admin
o fichier admin. py

modification de | 'affichage en liste
Adaptation du "...
Fontoffice

- Gabarit 2 comme le backoffice
- Moteur de TemplateJinja2 (si vous connaissez déja ! !!! )
o Les generics vie...
Les outils

o django-debug-toolbar
o requéte SQL
0 cache
o gabarits

- django-extensions
o génération de modele depuis UML...
Pour le Fun,  RESTez

- Extension 2 Django—tastypie
- fichier api .  py

tastypie. resources ModelResource
. models Projec...
Une autre application

"Il y a bien longtemps,  dans une galaxie lointaine,  tres lointaine . ... "

"Un client qui n'arri...
InliI-xilutdiloliinnalnmo»

i. .i: : I‘i «: e['«': io l'i LI" lvi I. 

Vglculies
mom:  verchar (50)

-vdescriptionz text
-...
UML --> Model

. /manage. py create_app ——diagram= dark_stock. dia dark_stock

. .notes:  Bug pour l'admin,  lors de | 'im...
Des extensions ! !!! 

django—viewflow 2 workflow

django—chartit 2 Graphes

django—cube 2 Cube OLAP

django—zurb—foundati...
Ir‘i2'I2‘«: Is,  liems,  

- Livre du site du_zéro "Apprendre a coder en python" 2

 / livremytmn/ amrena_a§r 
- Packages ...
QUESTIONS ? 

In oduction Dango - Christophe Brun
Interne
Prochain SlideShare
Chargement dans…5
×

Django pres

612 vues

Publié le

Introduction très rapide de python et de Django 1.7 : installation, environnements virtuels, migrations

Publié dans : Logiciels
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
612
Sur SlideShare
0
Issues des intégrations
0
Intégrations
9
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Django pres

  1. 1. Django : Introduction Introduction Dango - Chnstophe Brun Interne
  2. 2. Sommaire Python Les environnements virtuels Django Le modele Le backoffice Le frontoffice Les outils Ressources Introduction Dango - Christophe Brun Interne
  3. 3. Python ? ?? - Iangage simple, interprété o multiplate-forme, mise en oeuvre tres simple - de plus en plus d'applications l'uti| isent comme Iangage d'extensions: blender, gimp, gnome o simple mais aussi puissant: nombreuses librairies pourfaciliter le dev - rigueur: mise en forme - introspection Introduction Dango - Christophe Brun Interne
  4. 4. Exemple 1 : Bonjour le monde Un exemple simple pr1nt "banjo r le monde" Sinon class Bon]ourLeMonde(): message ”R1en a d1 e def 1n1t (self, msg): self message msg def bon]our(self): return ”Bon]our self message monobjet Bon]ourLeMonde("le monde”) pr1nt(monobjet bonjour()) Introduction Dango - Christophe Brun Interne
  5. 5. print "nombre courant : print i for i liste: prlnt "nombre courant : prlnt i Introduction Dango — Christophe Brun lnterne
  6. 6. "Bonjour le monde" doc split doc split split(' ') Introduction Dango — Christophe Brun lnterne
  7. 7. Import, librairies o ne coder pas, réutiliser o exemple : application console cmd class MaConsole(cmd Cmd): def do bon]our(self, line): print ”bon]our as" line def do EOF(self, line): return True it name ' main MaConsole() cmdloop() Introduction Dango - Christophe Brun Interne
  8. 8. Version 2 de la console - importance ou non du choix de la librairie o remplacement de cmd par cmd2 pip install cmd2 o Remplacement de | 'import par - Suppresion de la fonction do_E0F - Gains : o moins de code o plus de fonctionnalités Introduction Dango - Christophe Brun Interne
  9. 9. Environnements virtuels isolation du code simplification du déploiement reinstallation de l'environnement mkvirtualenv : creation de l'environnement wo rkon : Activation deactivate : Désactivation de l'environnement rmvirtualenv : Suppression Introduction Dango - Christophe Brun Interne
  10. 10. Creation de notre environnement o pip ou easyinstall : pour install les libs - mkvirtualenv mkvirtualenv —-python: /usr/ bin/ python3 django pres - installation de Django pip install ipython o sauvegarde de notre environnement pip freeze >requirements. txt o Reinstallation pip install -r requirements. txt Introduction Dango - Christophe Brun
  11. 11. Django c'est un framework : pour aller vite Juste ce qu'iI faut en terme de lignes de code pour élever des poney magiques MVC, non! !!! ! MVT: Model, View, Template ca va vite, trés vite MAIS des fois, ca pique, non ? Introduction Dango - Christophe Brun Interne
  12. 12. Exemple : Gestion de projet fl Ressource +naiiie: varchar(50) +ema1l: email = blaril<= True, null= True +responsabl. e: Fore1gnKey = ‘self', blanl<= True, null= True l+get_resp(self) 1 1 Task Project +naiiie: varcharlsol 1+name: varchar(100) +durat1on: int 3 +start_date: date +pro}ect: Fore1gnKey = ‘Project’ +end_date: date +a'L'Locate: ManyToManyFie1d = ‘Ressource' I 4-cdo; Formgnxey = 'Fhssource‘ In tion Dango - Christophe Brun Interne
  13. 13. C'est pa rti o Installation : trop facile pip install Django= =1.7 - Creation de notre projet django—admin startproject django pres - Lancement de l'app| ication . /manage. py runserver Mais avant de la lancer, il faut une base Introduction Dango - Christophe Brun Interne
  14. 14. Fichier de configuration - fichier unique de configuration setting. py 0 configuration de la base de données o locale o activation des applications 0 surcharge de la configuration des applications - point faible de Django o chaque module dispose de sa configuration o chaque module utilise sa méthode I! !! Introduction Dango - Christophe Brun Interne
  15. 15. Systéme de migration - Avant Django 1.7 : Extension south - Django 1.7 2 natif o creation d'une migration pour un module . /manage. py makemigrations [module] o Migration . /manage py migrate o Afficher la version SQL de la migration (debug) . /manage py sqlmigrate Introduction Dango - Christophe Brun Interne
  16. 16. Création d'une application o initialisation de l'application . /manage. py startapp [application] o Activation de l'application o Edition du ficheir settings 0 ajout du nom de l'application dans INSTALLED_APPS o Lancer la migration (si nécessaire) - Lancer Ie serveur (si pas déja fait, sinon, il se démer. ... ) Introduction Dango - Christophe Brun Interne
  17. 17. Models - Définition d'un modéle de données o fichier models. py o lancer un makemigrations o lancer un migrate - aller dans l'admin Introduction Dango - Christophe Brun Interne
  18. 18. Backoffice - Activation du modéle dans l'admin o fichier admin. py modification de | 'affichage en liste Adaptation du "model" Extension, surcharge de l'admin Extension 2 suit Introduction Dango - Christophe Brun Interne
  19. 19. Fontoffice - Gabarit 2 comme le backoffice - Moteur de TemplateJinja2 (si vous connaissez déja ! !!! ) o Les generics view Introduction Dango - Christophe Brun Interne
  20. 20. Les outils o django-debug-toolbar o requéte SQL 0 cache o gabarits - django-extensions o génération de modele depuis UML o génération de graphe depuis un modele o mode server profilling 2 kcachegrind mode debug avec console interactive contextuelle dans la page web Introduction Dango - Christophe Brun Interne
  21. 21. Pour le Fun, RESTez - Extension 2 Django—tastypie - fichier api . py tastypie. resources ModelResource . models Project class Pro]ectResource(ModelResourceI2 class Meta: queryset Project objects all() - fichier Ll r Ls . py django. conf. urls. defaults tastypie. api Api . api ProjectResource v1 api Api(api name 'v1') v1 api register(ProjectResource()) urlpatterns patterns(", (r'Aapi/ ', include(vl api urlsl), ) duction Da go - Christophe Brun Interne
  22. 22. Une autre application "Il y a bien longtemps, dans une galaxie lointaine, tres lointaine . ... " "Un client qui n'arrive pas a suivre son invasion car ses amiraux sont incapables de lui donner une vision de son stock militaire". II a donc demandé a notre société de produire l'application "Stock noir" : Introduction Dango - Christophe Brun Interne
  23. 23. InliI-xilutdiloliinnalnmo» i. .i: : I‘i «: e['«': io l'i LI" lvi I. Vglculies mom: verchar (50) -vdescriptionz text -vlungueurz varchar(20) = blank= True, nu'L'L= True +v1sue12 varcharlaol _L Stock 4-vehicule: Fore1gnKey = ‘vehicules’ +entr'epot: Foreignkey - Eriti-eipots' +nombre: int T T L Clblas 4l1_ Attaqueu 4-cxble: Foreigrkey = 'Cibles' +besoins: Fore1gnKey = 'vehicules' ‘+l’lOllIbl'El mt 1 ji? Entrepotu «I-nom: varchar (50) mom: varcher(SO) -0-description: text -vcliriiat: varcharlml = b'Lank= True, nul'L= True +ter-rai . varcl1ar(50) = blank= True. null= True
  24. 24. UML --> Model . /manage. py create_app ——diagram= dark_stock. dia dark_stock . .notes: Bug pour l'admin, lors de | 'import des models Introduction Dango - Christophe Brun Interne
  25. 25. Des extensions ! !!! django—viewflow 2 workflow django—chartit 2 Graphes django—cube 2 Cube OLAP django—zurb—foundation 2 Foundation 5 pour Ie front django—suit 2 backoffice bootstrap 3 django-extensions 2 tools comme la génération de models depuis un graph uml dia - django-debug-toolbar: debug en live Introduction Dango - Christophe Brun Interne
  26. 26. Ir‘i2'I2‘«: Is, liems, - Livre du site du_zéro "Apprendre a coder en python" 2 / livremytmn/ amrena_a§r - Packages python 2 httpsz/ /pypi. python. org/ pypi - Site de Django 2 https: //www. djangoproject. com/ - Packages Django 2 jttps-zzwww da ngopa :2 a gesco 331 In‘: mélumiton-Quinlan» <IliiiI-1'u1pli1u. =InI. n-
  27. 27. QUESTIONS ? In oduction Dango - Christophe Brun Interne

×