Ce Framework , basé sur un concept MVC, est conçu pour le développement rapide et reprend la plupart des grands principes de Python (« Explicit is better than implicit », notamment). Ce qui en fait alors la plate-forme de développement Web idéale pour les perfectionnistes sous pression.
Je vous propose donc de découvrir les quelques nouveautés que vous offrent les développeurs Django. Correctifs de sécurité
Une faille à été corrigée sur le mini serveur de développement qui permettait d'avoir accès a n'importe quel fichier du disque accessible en lecture via une URL forgée. Les versions concernées sont :
- trunk
- 1.0.x
- 0.96
Modèles :
- Champs retardés : les nouvelles méthodes defer() et only() s'ajoutent au possibilités de vos Querysets. Elles permettent d'omettre certaines colonnes lors de la requête vers la base et d'économiser le temps de conversion en objets Python. Cela peut s'avérer très utile à des fins d'optimisation ou quand certains champs de vos modèles sont particulièrement longs.
- Modèles non gérés : vous pouvez retirer à Django la responsabilité de créer ou vider les tables pour un modèle donné.
- Modèles « Proxyfiés » :
Pour ne rajouter qu'une méthode ou un manager à un modèle existant vous pouvez créer des modèles « proxy » qui vont éviter à Django de créer une table pour ce nouveau modèle.
- Si vous voulez interagir avec quelques colonnes des tables d'une base de donnée déjà existante : Les modèles non managés sont fait pour vous.
- Si vous voulez modifier la face "Pythonique" d'un modèle alors vous aimerez les modèles proxyfiés
- Listes modifiables : Vous pourrez, grâce à l'option list_editable permettre l'édition des champs de vos objets dans la page qui liste ceux-ci.
- Actions administrateur : Vous pouvez définir des actions à appliquer à un set d'objets listés dans l'interface d'administration. (capture d'écran )
- Plus rapides ! (jusqu'à 10 fois dans certains cas).
- Le client de test peut suivre les redirections grâce à l'argument follow lors de vos get() et post().
- Vous pouvez (enfin) accéder directement aux variables stockées dans le contexte renvoyé au client de test.
- Traitement conditionnel des vues : Possibilité de décorer vos vues pour un traitement plus rapide des headers HTTP ETag et Last-Modified
- On peut enfin exporter nos données via la commande dumpdata modèles par modèles et non plus uniquement par application.
- Un nouveau backend d'authentification supporte la variable d'environnement 'REMOTE_USER' pour déléguer le travail au serveur web.
- Une nouvelle fonction redirect() pour rendre les redirections encore plus fun ! Votre code aura un beau pwal sans HttpResponseRedirect(reverse()) !
- Namespace dans les urls nommées.
- Améliorations de GéoDjango.
- Nos amis de la dernière grosse base de données vraiment libre voient leur backend supporter l'autocommit.
- Et d'autres à découvrir...
Malgré toute l'attention qui est portée sur la stabilité de l'API à long terme certains points sont à vérifier si vous voulez mettre à jour. N'hésitez pas vous rendre sur la page listant les changements dans Django 1.1 pour éviter toute mauvaise surprise lors de la mise à jour.
Communauté Française
Il est à noter que toutes les bonnes volontés sont demandées pour faire vivre le site de la communauté française de Django. En effet la documentation originale fait honneur au projet, mais il manque des bonnes volontés pour la traduire ou écrire des tutoriels et faire ainsi la promotion de cet excellent outil chez les francophones. Rendez vous sur la mailling list que vous trouverez sur le site ou mieux : passez nous voir sur le canal IRC #django-fr de Freenode où vous serez impressionés de voir tant de développeurs qui vous montreront, qu'eux aussi on retrouvé le sourire avec Python et Django.
Python dans le web
Si vous voulez en apprendre plus sur les différentes façon de faire du web avec Python, et que vous avez raté la fabuleuse PyConFR 2009 à la cité des sciences organisé par l'Association Francophone de PYthon (l'AFPY, je vous propose de vous rendre sur les pages des conférences vidéos enregistrées lors de cet évènement.
Ai-je besoin de vous dire avec quel framework ce dernier site a été réalisé ?
Aller plus loin
- Site web du projet (4 clics)
- Communauté francophone (5 clics)
- Annonce de la sortie (4 clics)
- Notes de version (7 clics)
- Annonce de sécurité (4 clics)
# à propos de Django
Posté par desfrenes (site web personnel) . Évalué à 2.
[^] # Re: à propos de Django
Posté par FantastIX . Évalué à 4.
Je me suis arrêté juste après que Cal Henderson a introduit les trois raisons, dont python et les environnements de travail. Qu'explique-t'il au juste?
[^] # Re: à propos de Django
Posté par desfrenes (site web personnel) . Évalué à 2.
On peut lui opposer que de toutes façons la plus grande partie des applications créées sous Django ne connaitront jamais l'essor de Flickr.
On peut aussi voir les slides (http://www.slideshare.net/iamcal/why-i-hate-django-part-12-p(...) mais la présentation est vraiment très drôle et en plus on apprend plein de choses sur la montée en charge d'une appli web.
[^] # Re: à propos de Django
Posté par FantastIX . Évalué à 2.
Ceci dit, j'ai effectivement eu un aperçu de l'humour du gaillard, alors qu'il présentait PHP comme un langage pour les développeurs sérieux... J'ai pouffé (oh, juste un peu, quoi, je connais pas bien python). J'en déduis donc que le moteur Python pourrait ne pas être aussi optimisé pour la montée en charge que ne l'est PHP... Mais je gagerais bien que ça ne durera pas très longtemps.
[^] # Re: à propos de Django
Posté par desfrenes (site web personnel) . Évalué à 1.
[^] # Re: à propos de Django
Posté par Antoine . Évalué à 1.
[^] # Re: à propos de Django
Posté par Larry Cow . Évalué à 5.
[^] # Re: à propos de Django
Posté par Antoine . Évalué à 3.
J'ai commencé à lire 50 slides sur la centaine que contient la présentation, et c'est plein de vide (le seul argument concret : le « significant whitespace » de Python. Voilà une critique féroce de Django !). Résultat : j'abandonne. Les neuneus qui se prennent pour des showmen et remplissent leurs présentations de photos « amusantes » et autres lolcatz me les brisent. Qu'ils retournent sur leur Facebook échanger la dernière blague à la mode Fun Radio, mais qu'ils évitent de se croirent intéressants.
[^] # Re: à propos de Django
Posté par ckyl . Évalué à 4.
Marrant en général ce sont les meilleurs présentateurs. Inconvénient leurs slides sont inutilisables sans l'orateur. C'est, entre autre, ce qui rend la présentation en vraie intéressante. Les mecs réfléchissent un peu plus à leur présentation que faire des bullet lists. Faut avoir le niveau et l'expérience pour que ca passe bien... Des slides ca sert de support à une présentation, si ce n'est pas pour présenter alors autant écrire un article.
Je ne l'ai pas regardé puisque cette présentation ne m'intéresse pas vraiment, mais il me semble que tu as la vidéo. L'as tu regardé ? Connaissant pas mal le domaine mais pas django, et ayant juste survolé les slides, je vois les idées qu'il avance et ca ne me semble pas du tout vide. Tu as regardé la partie 2 au moins ?.
Cela dit, même si ca présentation était complètement ratée, traiter Cal Henderson de "neuneu" c'est assez comique. Pour information c'est l'auteur de "Building Scalable Web Sites" soit l'un des livres de référence sur le sujet. Le dimanche matin c'est aussi le chief architect de flickr.
[^] # Re: à propos de Django
Posté par claudex . Évalué à 1.
Ça dépend beaucoup, il y en a aussi qui se croient le meilleurs présentateur et d'autre qui ne savent pas ce qu'ils font.
Inconvénient leurs slides sont inutilisables sans l'orateur
Ce qui veut dire que tu ne peux pas la relire par la suite, ce qui est plutôt embêtant.
Des slides ca sert de support à une présentation
C'est pour ça qu'on met le plan de ce qu'on raconte dessus en général.
si ce n'est pas pour présenter alors autant écrire un article.
Tu peux mettre les idées principales sans tout développer pour autant.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: à propos de Django
Posté par desfrenes (site web personnel) . Évalué à 1.
Des slides ça sert de support à présentation. Si ça contient tout le contenu de la présentation, il y a de grandes chances pour que celle-ci soit soporifique, et donc inutile.
Pour les significant whitespaces, on comprend clairement dans la vidéo qu'il s'agit d'une boutade plus que d'une véritable critique.
Enfin bref, le mieux c'est de regarder *avant* de commenter, ça permet de faire des commentaires plus intelligents.
[^] # Re: à propos de Django
Posté par Antoine . Évalué à 2.
Oui, donc cela veut dire qu'en 50 slides il n'y a *aucun* contenu. Je n'appelle pas ça « savoir faire passer ses idées », mais bon...
Enfin bref, le mieux c'est de regarder *avant* de commenter, ça permet de faire des commentaires plus intelligents.
J'ai en effet regardé 50 slides et j'ai arrêté, de guerre lasse.
Quant à la vidéo, c'est beaucoup plus pénible en général qu'un support écrit, surtout quand on veut avoir une idée d'ensemble (impossible de survoler une vidéo).
Enfin, pour ce qui est de la drôlerie, c'est une affaire de goût, mais là où une blague (même nulle) de temps à autre ne gêne pas, quand ça constitue plus de la moitié de la présentation ça devient très pénible. Personne ne va voir ce genre de gars pour rigoler pendant deux heures (il y a les Monty Python pour ça), mais bien pour apprendre des choses (supposées) intéressantes.
[^] # Re: à propos de Django
Posté par desfrenes (site web personnel) . Évalué à 1.
[^] # Re: à propos de Django
Posté par Antoine . Évalué à 2.
« Quant à la vidéo, c'est beaucoup plus pénible en général qu'un support écrit, surtout quand on veut avoir une idée d'ensemble (impossible de survoler une vidéo). »
[^] # Re: à propos de Django
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 4.
Y'a rien de pire qu'une présentation où tout est sur les slides et que l'orateur "lit le contenu". Effectivement dans ces conditions, un livre ou un article est plus utile...
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
# Explicite plutôt qu'implicite...
Posté par windu.2b . Évalué à 6.
Nommer la base de données en question n'aurait peut-être pas été du luxe...
[^] # Re: Explicite plutôt qu'implicite...
Posté par Julien (site web personnel) . Évalué à 4.
PostgreSQL
ai-je bon ?
[^] # Re: Explicite plutôt qu'implicite...
Posté par Zakath (site web personnel) . Évalué à 5.
[^] # Re: Explicite plutôt qu'implicite...
Posté par Julien (site web personnel) . Évalué à 1.
A_priori_et_a_posteriori
[^] # Re: Explicite plutôt qu'implicite...
Posté par mota (site web personnel) . Évalué à 1.
[^] # Re: Explicite plutôt qu'implicite...
Posté par Julien (site web personnel) . Évalué à 2.
[^] # Re: Explicite plutôt qu'implicite...
Posté par boulde . Évalué à 2.
Mots étrangers
— On met en italique les mots étrangers (sans ajouter de guillemets
qui seraient redondants). [...]
— On met en italique certaines expressions d’origine étrangère, par
exemple a capella, de facto, for ever, honoris causa, ipso facto, manu
militari, sine die, up-to-date, etc.
— Par contre, on laisse en romain certaines expressions d’origine
étrangère lorsqu’elles sont passées dans les usages. La limite avec la
classe précédente est sujette à discussions. . . Exemples : à priori [1] , ad
hoc, andante, curriculum vitæ, ex æquo, fair play, mea culpa, sketch,
statu quo, vice versa, etc. (« etc. » fait bien sûr partie de la liste). Il faut
regarder les codes typographiques pour ces diverses listes.
[1]. Et même avec un accent grave : voir <http://langue-fr.net/spip.php?
article128> .
http://jacques-andre.fr/faqtypo/lessons.pdf
http://langue-fr.net/spip.php?article128
# Quelques corrections
Posté par FantastIX . Évalué à 5.
«Modèles non gérés» au lieu de Modèles non managés.
«Listes modifiables» au lieu de Listes éditables.
«Traitement conditionnel des vues (conditional view processing)».
«environnement de travail» au lieu de framework.
«[...] où vous serez impressionnés de voir [...]» au lieu de [...] où vous serez impactés de voir tant de développeurs [...].
Sinon, je ne me suis pas encore mis à Python mais je sais que, comme Perl, ce langage est incontournable pour être présent dans des projets importants, sans compter l'administration du système.
Merci pour ces détails en tous cas.
[^] # Re: Quelques corrections
Posté par Marc (site web personnel) . Évalué à 2.
J'imagine qu'il manque le "vous", ou alors j'ai un problème de compréhension...
[^] # Re: Quelques corrections
Posté par Johan Charpentier (site web personnel) . Évalué à 1.
[^] # Re: Quelques corrections
Posté par Johan Charpentier (site web personnel) . Évalué à 1.
Ou « Cadriciel » ? :)
Les tentatives de traduction de ce mot sont assez amusantes à voir sur la page wikipedia
Il n'empêche que je préfère la dénomination Framework
«[...] où vous serez impressionnés de voir [...]» au lieu de [...] où vous serez impactés de voir tant de développeurs [...]
La tournure est bancale mais a une justification particulière :)
Sinon je te remercie pour les autres propositions, j'y penserai pour la prochaine version.
[^] # Re: Quelques corrections
Posté par FantastIX . Évalué à 2.
Et encore, j'habite en Belgique, pas au Canada ;)
[^] # Re: Quelques corrections
Posté par FantastIX . Évalué à 2.
[^] # Re: Quelques corrections
Posté par CrEv (site web personnel) . Évalué à 2.
juste en passant, pour moi ce n'est pas le même sens et les deux sont bien français je trouve.
Une liste modifiable indique plutôt une liste dont on va changer l'ordre.
Une liste éditable me fait plus penser qu'on va éditer les valeurs composant cette liste en priorité, ce qui correspond tout à fait aux listes qu'on trouve dans les formulaires dans laquelle on peut tout de même saisir une entrée.
Après, c'est ptetre moi aussi (ça serait pas la première fois...)
[^] # Re: Quelques corrections
Posté par FantastIX . Évalué à 2.
[^] # Re: Quelques corrections
Posté par Antoine . Évalué à 1.
# django Vs google app engine
Posté par madmaker . Évalué à 1.
ces nouvelles fonctionnalité de django vont etre implémenté dans google app engine ?
[^] # Re: django Vs google app engine
Posté par bibile . Évalué à 2.
google propose django, c'est tout.
actuellement, c'est la version 1.0 de django qui s'y trouve.
http://code.google.com/p/googleappengine/wiki/SdkReleaseNote(...)
# django Vs google app engine
Posté par madmaker . Évalué à -2.
ces nouvelles fonctionnalité de django vont etre implémenté dans google app engine ?
# Comment débuter ?
Posté par Thomas . Évalué à 1.
On peut déjà attaquer Django sans connaître Python ? Si non, même question que la première mais pour Python :)
[^] # Re: Comment débuter ?
Posté par pyrollo (site web personnel) . Évalué à 1.
Une fois la base de Python acquise, le site de Django propose un bon tutorial ici : http://docs.djangoproject.com/en/dev/intro/tutorial01 (a lire en faisant ce qui est demandé, sinon ça perd son intérêt)
Le reste de la doc est plutôt bien foutue, et puis, tu as les sources !
[^] # Re: Comment débuter ?
Posté par pampryl . Évalué à 2.
Non seulement Djang est écrit en python, mais il faut aussi écrire ses applications en python. Django n'étant qu'une "couche intermédiaire" permettant de travailler facilement en MVC (expliqué dans la dépêche) et de proposer des outils de templating, ou d'accès aux données.
Dans tous les cas, il faut écrire du code en python pour obtenir une application Django... donc...
Et python s'adapte, je trouve, très bien aux débutants. La syntaxe est un peu rigide mais elle peut être vite maitrisée. Le livre de Gerard Swinenn ( http://www.framasoft.net/article1971.html ) peut être un bon départ pour démarrer en python.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.