Anúncio
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Anúncio

Similar a Présentation de Django @ Orange Labs (FR)(20)

Anúncio

Présentation de Django @ Orange Labs (FR)

  1. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Django Martin Latrille Orange Labs IMT/OLPS 20/11/2014
  2. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Table des matières 1 Introduction 2 Architecture MVT 3 Caractéristiques 4 Outils 5 Documentation 6 Conclusion
  3. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Table des matières 1 Introduction 2 Architecture MVT 3 Caractéristiques 4 Outils 5 Documentation 6 Conclusion
  4. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Django, c’est quoi ? Django, c’est quoi ? "Le framework Web des perfectionnistes sous pression" Framework Web écrit en Python, équivalent de : RubyOnRails pour Ruby Struts/Spring pour Java Framework Web standard du Python, malgré de nombreux concurrents : Flask Pyramid Web2py ... Prône l’unicité du code Développé à partir de 2003, rendu public sous licence BSD en 2005
  5. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Pourquoi choisir Django Pourquoi choisir Django Vitesse de développement Nombre de features Grande communauté Open-source Compatible Python2 / Python3
  6. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Qui se sert de Django Qui se sert de Django Disqus, Pinterest, Instagram, Mahalo, bitbucket, lanyrd, support.mozilla.com, addons.mozilla.org, The Onion, EveryBlock, GiantBomb, ComicVine, MichaelMoore.com, newyorktimes.com (represent), washingtonpost.com, guardian.co.uk, lawrence.com... Le site d’orange.ch est fait avec DjangoCMS.
  7. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Table des matières 1 Introduction 2 Architecture MVT 3 Caractéristiques 4 Outils 5 Documentation 6 Conclusion
  8. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Concept Schéma MVC Figure: Schéma de l’architecture MVC
  9. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Concept Schéma MVT Figure: Schéma de l’architecture MVT
  10. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Exemple MVT (exemple de code) Modèle : c l a s s A r t i c l e ( models . Model ) : """ ␣␣ D e f i n e ␣an␣ a r t i c l e ␣␣""" name = models . C h a r F i e l d ( max_length =128) c o n t e n t = models . T e x t F i e l d ( ) Vue : c l a s s A r t i c l e V i e w ( django . v i e w s . g e n e r i c . View ) : """ ␣␣ D i s p l a y ␣an␣ a r t i c l e ␣␣""" d e f get ( s e l f , r e q u e s t , pk ) : a r t i c l e = A r t i c l e . o b j e c t s . get ( i d=pk ) r e t u r n r e n d e r ( ’ a r t i c l e . html ’ , l o c a l s ( ) ) Template : <html> <body> <h1>{{ a r t i c l e . name }}</h1> <p>{{ a r t i c l e . c o n t e n t }}</p> </ body> </ html>
  11. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Table des matières 1 Introduction 2 Architecture MVT 3 Caractéristiques 4 Outils 5 Documentation 6 Conclusion
  12. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion ORM ORM Object-Relational Manager : intermédiaire entre les objets et la base de données. Crée une table pour chaque modèle Crée une ligne pour chaque instance de modèle Met à jour la base de données en fonction des instances Exemple Article(name="article1", content="Salut !").save() print Article.objects.get(name="article1").content Salut !
  13. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion URL dispatcher URL dispatcher L’URL dispatcher est l’outil qui associe une URL à une vue. Pas d’URLs de base ; vous les définissez entièrement Pas de limitations dans la personnalisation d’URLs URLs écrite dans le fichier urls.py de chaque application Exemple d’URL patterns : u r l p a t t e r n s = p a t t e r n s ( ’ ’ , u r l ( r ’^$ ’ , v i e w s . HomeView . as_view ( ) ) , u r l ( r ’^b l o g /$ ’ , v i e w s . BlogView . as_view ( ) ) , u r l ( r ’^b l o g /(?P<pk >[0−9]+)/$ ’ , v i e w s . A r t i c l e V i e w . as_view ( ) ) , )
  14. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Table des matières 1 Introduction 2 Architecture MVT 3 Caractéristiques 4 Outils 5 Documentation 6 Conclusion
  15. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Outils intégrés Utilitaire django-admin / manage.py Regroupe tous les outils intégrés de Django Permet d’effectuer des opérations sur le projet, comme : créer un projet créer une nouvelle application dans le projet lancer le serveur de développement lancer la suite de test initialiser la base de données créer et effectuer les migrations nécessaires pour la base de données ...
  16. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Outils intégrés Serveur de développement Inclus dans Django Ne nécessite pas de configuration Se lance en une commande : ./manage.py runserver Rend l’application accessible en local à l’adresse "http ://localhost :8000/" Ecrit les logs sur la sortie standard Uniquement pour le développement, ne pas utiliser en production
  17. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Outils intégrés Suite de tests Inclus dans Django Ne nécessite pas de configuration Se lance en une commande : ./manage.py test Exécute les tests unitaires présents dans les fichiers tests.py de chaque application Permet l’intégration continue
  18. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Outils intégrés Interface d’administration Auto-générée par Django Nécessite l’enregistrement des modèles de chaque application dans le fichier admin.py de celle-ci admin . s i t e . r e g i s t e r ( Category ) admin . s i t e . r e g i s t e r ( A r t i c l e ) Permet la gestion de la base de données via une interface graphique (dans le style de PhpMyAdmin)
  19. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Outils externes pip pip est un outil pour installer et gérer les paquets Python. Gestionnaire de paquets (comme yum, apt-get...) Dédié à la gestion des paquets Python Permet de choisir la version du paquet
  20. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Outils externes virtualenv virtualenv est un outil pour créer des environnements Python isolés. Permet la création d’environnements virtuels Permet, avec pip, d’installer des versions spécifiques de paquets spécifiques pour un projet spécifique, dans l’environnement du projet Permet d’avoir plusieurs projets utilisant des versions différentes de mêmes paquets, sans conflits
  21. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Table des matières 1 Introduction 2 Architecture MVT 3 Caractéristiques 4 Outils 5 Documentation 6 Conclusion
  22. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Sphinx Sphinx est un outil permettant de générer de la documentation de code Python à partir de commentaires formatés spécialement, les docstring. d e f f u n c t i o n ( x ) : """ ␣␣ This ␣ i s ␣a␣ d o c s t r i n g ␣␣""" r e t u r n x ∗ 2 On peut mettre des docstring dans les classes et dans les fonctions. Elles doivent indiquer le fonctionnement de la classe/fonction concernée. Grâce à ces doctrings, et un petit peu de configuration, Sphinx génère automatiquement la documentation du code, au format LATEX, HTML, ePub, Texinfo, man pages (pages de manuel Unix) ou texte normal.
  23. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Table des matières 1 Introduction 2 Architecture MVT 3 Caractéristiques 4 Outils 5 Documentation 6 Conclusion
  24. Introduction Architecture MVT Caractéristiques Outils Documentation Conclusion Conclusion Django est fait pour développer rapidement des applications Web de qualité. Il permet de factoriser le code, et grâce aux outils mis à disposition, de se concentrer sur le développement.
  25. Annexe Sources Sources I http ://www.djangoproject.com/ http ://fr.openclassrooms.com/informatique/cours/developpez- votre-site-web-avec-le-framework-django
Anúncio