Django pres

666 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
666
Sur SlideShare
0
Issues des intégrations
0
Intégrations
8
Actions
Partages
0
Téléchargements
12
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

×