Django (framework)

Django (framework)
Page d'aide sur l'homonymie Pour les articles homonymes, voir Django.
Django
Django logo.svg
Développeur Lawrence Journal-World
Première version 21 juillet 2005
Dernière version 1.3 (23 mars 2011) [+/-]
Écrit en Python
Environnement Multiplate-forme
Type Framework Web
Licence BSD
Site web www.djangoproject.com

Django est un framework de développement web en Python open-source. Il a pour but de rendre le développement web simple et rapide. Le projet a pour slogan « Le framework web pour les perfectionnistes sous pression ». Développé au départ pour les sites de la compagnie de Lawrence, Django a été publié sous licence BSD à partir de Juillet 2005.

Depuis Juin 2008, la Django Software Foundation s'occupe du développement et de la promotion du framework.

Sommaire

Principes

Capture d'écran de l'interface d'administration

Django est un framework qui s'inspire du principe MVC ou MTV (la vue est gérée par un template) composé de 3 parties distinctes :

  1. Un langage de template flexible qui permet de générer du HTML, XML ou tout autre format texte ;
  2. Un contrôleur fourni sous la forme d'un "remapping" d'URL à base d'expressions rationnelles ;
  3. Une API HTML d'accès aux données est automatiquement générée par le framework compatible CRUD. Inutile d'écrire des requêtes SQL associées à des formulaires, les requêtes SQL sont générées automatiquement par l'ORM .

En plus de l'API d'accès aux données, une interface d'administration fonctionnelle est générée depuis le modèle de données. Un système de validation des données entrée par l'utilisateur est également disponible et permet d'afficher des messages d'erreurs automatiques.

Sont également inclus :

  • un serveur web léger permettant de développer et tester ses applications en temps réel sans déploiement ;
  • un système élaboré de traitement des formulaires muni de Widgets permettant d'interagir entre du HTML et une base de données. De nombreuses possibilités de contrôles et de traitements sont fournies ;
  • un framework de cache web pouvant utiliser différentes méthodes (MemCached, système de fichier, base de données, personnalisé) ;
  • le support de classes intermédiaires (middleware) qui peuvent être placées à des stades variés du traitement des requêtes pour intégrer des traitements particuliers (cache, internationalisation, accès…) ;
  • un support complet d'Unicode.

Histoire

Son code a été originellement développé pour un journal local de la ville de Lawrence, dans le Kansas.

Il a été nommé ainsi en souvenir de Django Reinhardt.

Le but premier de Django est de faciliter la mise en œuvre de sites web complexes interfacés à des bases de données. Par framework, Django peut être considéré comme une boite à outils où chaque module peut fonctionner de façon indépendante. Le plus bel exemple de cette modularité est la plate-forme de développement Google App Engine, où l'ORM de base a été remplacé par une API sur les BigTable de Google. Guido Van Rossum, le créateur du langage Python a activement participé à cette plate-forme.

Forces et faiblesses de Django

Les forces

  • Les vues génériques : il s'agit de vues permettant de traiter les cas les plus courants du développement web de manière très simple. Elles permettent par exemple de lister des objets avec une gestion de la pagination, de lister des objets organisés par date avec des URL du type (année)/(mois)/(jour)/élément à afficher. Plus d'informations sont disponibles dans la documentation sur les vues génériques.
  • Le système d'authentification : User authentication in Django
  • La création de pages statiques : The flatpages app
  • La documentation : Django possède une très bonne documentation anglaise. Cette documentation, au format ReStructuredText (ReST) est compatible avec le projet Sphinx.
  • Les exceptions : les Exceptions et backtraces Python sont bien gérées dans Django et apparaissent dans les pages d'erreur 500. On peut avoir une bonne idée des variables d'environnement et du code ayant provoqué l'exception. Des efforts sont menés pour inclure d'autres outils comme par exemple la barre de debug de Symfony (Django Debug Toolbar)

Les faiblesses

  • L'AJAX : Django en tant que framework ne permet pas, seul, l'intégration d'AJAX côté client web. Ceci est un choix de l'équipe de développement qui préfère laisser à l'utilisateur le choix de la librairie AJAX à combiner avec Django (Prototype, Mochikit, jQuery, dojo, ext, etc.)[1]
  • Migrations : Il n'y a pas d'outil intégré au framework pour gérer les migrations lors des modifications des modèles. Mais des applications Django permettent de palier ce manque.

Voir aussi

Articles connexes

Bibliographie

Liens externes

Notes et références



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Django (framework) de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Django (Framework) — Pour les articles homonymes, voir Django. Django Dernière version …   Wikipédia en Français

  • Django (Framework) — Django Screenshot der It worked! Seite von Django …   Deutsch Wikipedia

  • Django (Begriffsklärung) — Django bezeichnet: Django, italienischer Western aus dem Jahr 1966 Django (Jazz Titel), Musikstück Django d’Or, verschiedene europäische Jazzpreise Django (Framework), ein Web Framework Django ist der Vorname folgender Personen: Django Asül (*… …   Deutsch Wikipedia

  • Framework — Ein Framework (englisch für „Rahmenstruktur“ oder „Fachwerk“) ist ein Programmiergerüst, das in der Softwaretechnik, insbesondere im Rahmen der objektorientierten Softwareentwicklung sowie bei komponentenbasierten Entwicklungsansätzen, verwendet… …   Deutsch Wikipedia

  • Django (web framework) — Django The default Django page Developer(s) Lawrence Jou …   Wikipedia

  • Django — Saltar a navegación, búsqueda Para otros usos de este término, véase Django (desambiguación). Django Desarrollador Django Software Foundation …   Wikipedia Español

  • Django — Тип веб фреймворк Автор Lawrence Journal World …   Википедия

  • Django — may refer to: Contents 1 Music 2 Film 3 Technology 4 …   Wikipedia

  • Django Reinhardt — (1946) Background information Birth name Jean Reinhardt Born …   Wikipedia

  • Django (desambiguación) — Saltar a navegación, búsqueda El nombre Django puede referirse a: Django Reinhardt, músico de jazz Django, película spaghetti western de 1966 Django, película peruana de 2002 Django, un web framework Obtenido de Django (desambiguaci%C3%B3n)… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”