Articles récents
Les blogs francophones qui parlent de Django
La planète Django-fr rassemble les différents contenus francophones autour de Django.
Derniers articles
Novapost's Paradise: Django1.5 : passer au Configurable User Model
Depuis la version 1.5 de Django, il est possible d'utiliser un Configurable User Model en lieu et place de django.contrib.auth.User.
Cela permet, par exemple, de se passer de proxy model ou encore de fusionner le profil avec l'utilisateur, pour éviter des join dans les requêtes SQL.
Très pratique, et facile à mettre en place sur un projet qui commence juste, mais comment gérer ça en utilisant South sur un projet déjà bien en place ?
Le but est donc de fusionner l'utilisateur et le profil, avec pour aide/contrainte d'utiliser South, autant sur ...
Publié il y a 1 mois. Lire la suite
Mathieu Agopian: Django1.5 : passer au Configurable User Model
Depuis la version 1.5 de Django, il est possible d'utiliser un Configurable User Model en lieu et place de django.contrib.auth.User.
Cela permet, par exemple, de se passer de proxy model ou encore de fusionner le profil avec l'utilisateur, pour éviter des join dans les requêtes SQL.
Très pratique, et facile à mettre en place sur un projet qui commence juste, mais comment gérer ça en utilisant South sur un projet déjà bien en place ?
Le but est donc de fusionner l'utilisateur et le profil, avec pour aide/contrainte d'utiliser South, autant sur ...
Publié il y a 1 mois. Lire la suite
Novapost's Paradise: Configurer Emacs comme un développeur Python
Introduction
Souvent on me demande qu'elle IDE j'utilise. Quand je réponds emacs, ça ne semble pas convenir à mon interlocuteur.
Voici un petit article pour transformer son emacs en véritable IDE python.
Quand je code en Python, j'ai envie de respecter la PEP-8, d'avoir la complétion des noms de fonctions et variables et que mon IDE me dise quand j'ai oublié d'importer une bibliothèque ou que j'en importe qui ne sont pas utilisées.
En Python, les tabulations font 4 espaces
On modifie le fichier .emacs avec ces deux lignes:
(setq-default indent-tabs-mode nil) ; use ...
Publié il y a 1 mois, 1 semaine. Lire la suite
Novapost's Paradise: Django : Comment booster ses tests en 1 minute
Introduction
Hier, Boris, en stage ici pour 6 mois, me parle d'une astuce pour Django ultra simple, mais qui a tout bonnement divisé par deux notre temps de tests :O
Connexion, views et tests
Lors des tests, on doit souvent se connecter pour tester les droits de l'utilisateur ou encore accéder à des certaines pages de l'application Django décorée par un user_passes_test ou un login_required.
Si vous n'utilisez pas encore les techniques de tests unitaires des views proposée la semaine dernière par Benoît Bryon, cette solution simple va déjà vous faire gagner un temps fou.
À ...
Publié il y a 1 mois, 4 semaines. Lire la suite
nautilebleu: Testing a ØMQ async job with Python Mock
At Greenbureau, we are huge fans of ZeroMQ, a network library that eases building our queue management tool, called HGMQ.
Below is a typical job:
@hgmq.job('async_job') def async_job(msg): # Do something usefull here actor = Actor.objects.get(name=msg["name"]) msg = { "results": [fact.title for fact in actor.facts.all()] } hgmq.send_job('core/back', 'recv_async_job', msg)The
@hgmq.jobdecorator as the same role as the@taskin Celery or the@jobfor rq.As always, testing an async process is a hard job (^^). Not only being able to test the whole context, we can call the function ...
Publié il y a 2 mois, 1 semaine. Lire la suite
Novapost's Paradise: Transformer un OneToOneField en AutoField avec South
South, c'est cool. Mais des fois, il faut mettre les mains dedans, et ça devient vachement moins cool. Mais bon, à force, ça finit par rentrer.
Contexte
Dans notre projet, on a eu besoin de gérer des permissions sur des instances d'objet valables pour un rôle donné, un rôle étant affecté à des utilisateurs.
Pour cela, on a utilisé django-guardian, qui gère ces permissions soit pour un utilisateur, soit pour un groupe.
On a donc dû lier nos rôles à des groupes, avec un OneToOneField, pour gérer ces permissions.
Mais en plus, comme on fait du multi-site, et ...
Publié il y a 2 mois, 3 semaines. Lire la suite
Novapost's Paradise: Introducing gettext check_po
Introduction
Au début de notre dernier projet django nous avons décidé de le séparer en app d'un même namespace. (project.core, project.user, project.share, ...)
Cela permet de séparer les composants sur différentes VM en installant les dépendances nécessaires.
Notre projet est donc séparé en une dizaine de composants qui ont chacun leur github, setup.py, licence, numéro de version, changelog, readme, etc bien propre.
L'avantage c'est que c'est bien modulaire et prévu pour monter en charge.
Le désavantage c'est qu'il faut être rigoureux pour les releases en mettant bien à jour le changelog ...
Publié il y a 5 mois. Lire la suite
Mathieu Agopian: Djangocon 2012 Tolosa Edition
Ce 24 et 25 novembre se tenait la rencontre django-fr [1] locale à Toulouse : DjangoCon Toulouse [2]. Ce fût une fois de plus une réussite pour ces rencontres qui sont le point fort de l'année pour notre communauté.
Pardon
Je tiens tout d'abord à m'excuser pour deux points en particulier :
L'oubli
J'ai un cerveau farceur. Malgré le mail des gentils organisateurs me disant que ma présentation ET mon lightning talk étaient acceptés, je n'ai retenu que la première partie.
Je me suis donc retrouvé le matin même, à quelques minutes de mon LT, à ...
Publié il y a 5 mois, 2 semaines. Lire la suite
Mr Jmad: Les poneys envahissent la ville rose, aka DjangoCon Toulouse, vive les pains aux chocolats !
Ce week-end avait lieu la première DjangoCon Toulouse, une rencontre django régionale au pays du cassoulet. Les festivités commençaient à 11h30 le samedi avec des LT, puis une rafale de huit conférences l’après midi, et pour finir sprint et ateliers le dimanche. Cette Djangocon est également la première Cong qui n’était pas un événement autonome [...]
Publié il y a 5 mois, 3 semaines. Lire la suite
Novapost's Paradise: MPTT, des arbres et des données
Rémy insiste souvent pour que j'écrive des articles sur tel ou tel truc, je profite donc de toute l'énergie positive accumulée ce week-end lors du Djangocon-Toulouse (sans G, n'en déplaise à Rémy :) ) pour prendre ma plume^W^Wmon clavier.
Contexte
Pour un projet, nous avons eu besoin de modéliser des organisations sous forme arborescente, ce que nous avons fait avec MPTT.
Voici notre modèle:
from django.db import models from mptt.managers import TreeManager from mptt.models import MPTTModel, TreeForeignKey class Organization(MPTTModel): parent = TreeForeignKey('self', null=True, blank=True) name = models.CharField(_("name"), max_length=255 ...
Publié il y a 5 mois, 3 semaines. Lire la suite
Novapost's Paradise: Djangocong Tolosa - C'est déjà terminé !
Mise en bouche
C'est une fin de mois de novembre sur les chapeaux de roues, la semaine dernière j'étais à Rennes pour Djangocong-Breizh et ce week-end Django s'était invité au Capitole du Libre pour une série de conférences et d'ateliers.
Au programme des lightning talks, des conférences, des ateliers, du partage, des rencontres, des rires des projets et quelques bières.
Novapost en force
Novapost était largement représenté puisque les 2/3 de notre équipe Python R&D se trouvait sur place : Lauréline, Benoit, Mathieu et moi.
C'était la première ...
Publié il y a 5 mois, 3 semaines. Lire la suite
Novapost's Paradise: Essayez zc.buildout
zc.buildout est un outil de déploiement puissant : isolation, reproductibilité, extensibilité... Il semble pourtant relativement méconnu parmi les développeurs Django. Souffrirait-il de son apparente complexité ?
Voici une présentation de zc.buildout, un lightning-talk proposé lors de DjangoCon Toulouse 2012.
Le contenu de cette présentation a été intégré avec landslide + un thème Novapost.
Publié il y a 5 mois, 3 semaines. Lire la suite
Novapost's Paradise: Valorisez votre documentation
Rédiger une documentation efficace est un exercice difficile. La maintenir, c'est pire. Essayons donc de voir s'il existe des bonnes pratiques en la matière, et comment les mettre en place pour les projets Python, avec Sphinx.
Voici un retour d'expérience au sujet de la documentation, proposé sous forme de lightning-talk à l'occasion de DjangoCon Toulouse 2012.
Le contenu de la présentation a été intégré avec landslide + un thème Novapost.
Publié il y a 5 mois, 3 semaines. Lire la suite
Mr Jmad: Des poneys avec des chapeaux ronds aka DjangoBreizh, les poneys envahissent la bretagne
Samedi 17 novembre c’était donc la première edition des DjangoBreizh, une rencontre django locale en bretagne organisé par Exirel (bon ok, je ne suis pas tout a fait breton et pourtant j’y étais mais j’étais une exception) Le programme se découpait ainsi : matin conférence début d’après midi LT reste de l’après midi barcamp ou atelier [...]
Publié il y a 6 mois. Lire la suite
Novapost's Paradise: Djangocong Breizh
Introduction
Je vous écris pour la première fois d'une voiture sur le retour de Rennes.
C'est un vrai plaisir de quitter Paris et d'enfin pouvoir profiter de la 3G avec Free...
Se retrouver à Rennes est toujours un bon moment et je tiens à remercier Florian pour l'organisation de cette DjangoCong.
J'ai retrouvé pas mal de connaissances et nous avons pu profiter du repas de midi et du barcamp pour bien discuter.
Ces djangocong sont toujours un grand moment pour moi.
Une présentation sur Circus
J'ai repris en partie la présentation que Tarek avait ...
Publié il y a 6 mois. Lire la suite