<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Libre Experience &#187; django</title>
	<atom:link href="http://www.libre-experience.org/index.php/tag/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.libre-experience.org</link>
	<description>Bloc-notes sur les logiciels libres</description>
	<lastBuildDate>Tue, 22 Nov 2011 07:21:41 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Django : utiliser des templates ayant le même nom dans plusieurs applications</title>
		<link>http://www.libre-experience.org/index.php/2010/10/11/django-utiliser-des-templates-ayant-le-meme-nom-dans-plusieurs-applications/</link>
		<comments>http://www.libre-experience.org/index.php/2010/10/11/django-utiliser-des-templates-ayant-le-meme-nom-dans-plusieurs-applications/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 15:49:58 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[Planet-Libre]]></category>

		<guid isPermaLink="false">http://www.libre-experience.org/?p=311</guid>
		<description><![CDATA[Le problème est simple : vous avez dans le même projet deux applications disons app1 et app2 qui ont toutes les deux un même template nommé index.html. Pour éviter que Django n&#8217;effectue une confusion entre les deux templates au moment du chargement, il est nécessaire de respecter une marche à suivre bien précise. Lieu de [...]]]></description>
			<content:encoded><![CDATA[<p>Le problème est simple : vous avez dans le même projet deux applications disons <em>app1</em> et <em>app2 </em>qui ont toutes les deux un même template nommé <em>index.html</em>. Pour éviter que Django n&#8217;effectue une confusion entre les deux templates au moment du chargement, il est nécessaire de respecter une marche à suivre bien précise.<span id="more-311"></span></p>
<h3>Lieu de stockage des templates</h3>
<p>Surtout pas (ce qui pourrait paraître logique), <em>/mon_projet/app1/templates/index.html</em> et <em>/mon_projet/app2/templates/index.html</em>. Si vous le faites vous risquez de charger le fichier <em>index.html</em> de <em>app1</em> lorsque vous appelez <em>app2</em>.</p>
<p>Vous avez le choix :</p>
<ul>
<li>dans <em>/mon_projet/app1/templates/app1/index.html</em> (idem pour <em>app2</em> évidemment).</li>
<li>dans <em>/mon_projet/templates/app1/index.html</em> (idem pour <em>app2</em>).</li>
</ul>
<p>Personnellement je préfère la deuxième solution car le chemin est moins compliqué.</p>
<h3>Configuration du fichier <em>settings.py<br />
</em></h3>
<ul>
<li>Au niveau de la variable <em>TEMPLATE_LOADERS</em>, vous devez avoir la ligne suivante :<br />
<code>'django.template.loaders.filesystem.Loader'</code></li>
</ul>
<ul>
<li>Au niveau de la variable <em>TEMPLATE_DIRS</em>, les chemins d&#8217;accès aux templates doivent être déclarés :<br />
Si vous avez choisi la première option pour le stockage des templates :<br />
<code>os.path.join(ROOT, "app1/templates"),<br />
os.path.join(ROOT, "app2/templates"),</code><br />
Si vous avez choisi la seconde option :<br />
<code>os.path.join(ROOT, "templates"),</code><br />
Ceci suppose que vous avez déclaré en début de fichier :<br />
<code>ROOT = os.path.dirname(os.path.abspath(__file__))</code></li>
</ul>
<h3>Chargement des templates</h3>
<p>Lors du chargement des templates, il faut préciser le nom de l&#8217;application : <em>app1/index.html</em> et <em>app2/index.html</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.libre-experience.org/index.php/2010/10/11/django-utiliser-des-templates-ayant-le-meme-nom-dans-plusieurs-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django, Apache et gunicorn</title>
		<link>http://www.libre-experience.org/index.php/2010/06/05/django-apache-et-gunicorn/</link>
		<comments>http://www.libre-experience.org/index.php/2010/06/05/django-apache-et-gunicorn/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 17:53:41 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[gunicorn]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.libre-experience.org/?p=284</guid>
		<description><![CDATA[Django est un framework web Python qui dispose d&#8217;un propre serveur http, ce qui permet de tester rapidement les applications développées. Cependant il est déconseillé de l&#8217;utiliser en production. Ainsi pour une utilisation en production, on le couple à un serveur http, par exemple le très célèbre Apache. Pour ce faire on va utiliser l&#8217;interface [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.djangoproject.com">Django</a> est un framework web Python qui dispose d&#8217;un propre serveur http, ce qui permet de tester rapidement les applications développées. Cependant il est déconseillé de l&#8217;utiliser en production<span id="more-284"></span>.</p>
<p>Ainsi pour une utilisation en production, on le couple à un serveur http, par exemple le très célèbre Apache. Pour ce faire on va utiliser l&#8217;interface standard Python : WSGI (Web Server Gateway Interface). Un exemple de configuration est fourni sur la <a href="http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/">documentation officielle de Django</a>.</p>
<p>Cependant il existe un moyen à mon avis plus élégant de parvenir au but recherché : l&#8217;utilisation de <a href="http://gunicorn.org">gunicorn</a> en tant que proxy. Je n&#8217;ai pas eu encore l&#8217;occasion de le tester autrement qu&#8217;en local, mais il s&#8217;avère très prometteur en terme de rapidité. De plus, une fois gunicorn installé (très simple puisqu&#8217;il s&#8217;agit d&#8217;un package Python), la configuration est vraiment aisée.<br />
Plutôt que de paraphraser, je vous renvoie vers un <a href="http://mathieu.agopian.info/blog/2010/02/gunicorn-un-server-wsgi-ultra-simple-a-utiliser-et-configurer">article très bien fait</a>.</p>
<p><strong>Important : il faut s&#8217;assurer que les chemins vers l&#8217;application Django définis dans la configuration d&#8217;Apache sont bien accessibles par l&#8217;utilisateur qui exécute Apache.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.libre-experience.org/index.php/2010/06/05/django-apache-et-gunicorn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Django : utiliser les variables de session depuis les templates</title>
		<link>http://www.libre-experience.org/index.php/2009/10/30/django-utiliser-les-variables-de-session-depuis-les-templates/</link>
		<comments>http://www.libre-experience.org/index.php/2009/10/30/django-utiliser-les-variables-de-session-depuis-les-templates/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 10:28:53 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://www.mirelsol.org/?p=187</guid>
		<description><![CDATA[Afin de pouvoir récupérer directement le contenu d&#8217;une variable de session dans un template Django, deux conditions sont nécessaires : 1) Dans votre settings.py, le processeur de contexte de template django.core.context_processors.request doit être présent en plus de ceux définis par défaut, ce qui donne : TEMPLATE_CONTEXT_PROCESSORS = ( 'django.core.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.request', ) 2) Dans [...]]]></description>
			<content:encoded><![CDATA[<p>Afin de pouvoir récupérer directement le contenu d&#8217;une variable de session dans un template Django, deux conditions sont nécessaires<span id="more-187"></span> :</p>
<p>1) Dans votre <em>settings.py</em>, le processeur de contexte de template <em>django.core.context_processors.request</em> doit être présent en plus de ceux définis par défaut, ce qui donne :</p>
<p><code>TEMPLATE_CONTEXT_PROCESSORS = (<br />
    'django.core.context_processors.auth',<br />
    'django.core.context_processors.debug',<br />
    'django.core.context_processors.i18n',<br />
    'django.core.context_processors.request',<br />
)<br />
</code></p>
<p>2) Dans la vue (<em>views.py</em>), il faudra passer un objet de type <em>RequestContext</em> si vous utilisez la méthode <em>render_to_response</em>, ce qui donne par exemple :</p>
<p><code>...<br />
request.session['hello'] = 'world !!!'<br />
return render_to_response('index.html', context_instance=RequestContext<br />
(request))<br />
</code></p>
<p>3) Vous accédez à votre variable de session, dans votre template de cette façon :</p>
<p><code>value : {{ request.session.hello }}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.libre-experience.org/index.php/2009/10/30/django-utiliser-les-variables-de-session-depuis-les-templates/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Faire fonctionner Django avec Apache</title>
		<link>http://www.libre-experience.org/index.php/2009/09/04/faire-fonctionner-django-avec-apache/</link>
		<comments>http://www.libre-experience.org/index.php/2009/09/04/faire-fonctionner-django-avec-apache/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 13:17:55 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[Planet-Libre]]></category>

		<guid isPermaLink="false">http://www.mirelsol.org/?p=160</guid>
		<description><![CDATA[Le framework web Django est livré avec un serveur de développement intégré. Il est cependant possible de le faire fonctionner avec serveur web Apache dans le cadre d&#8217;une utilisation en production. Pour la rédaction de cet article, je me suis basé sur la documentation de Django. L&#8217;installation a été réalisée sur un serveur fonctionnant avec [...]]]></description>
			<content:encoded><![CDATA[<p>Le framework web <a href="http://www.djangoproject.com/">Django</a> est livré avec un serveur de développement intégré. Il est cependant possible de le faire fonctionner avec serveur web <a href="http://www.apache.org/">Apache</a> dans le cadre d&#8217;une utilisation en production.<span id="more-160"></span></p>
<p>Pour la rédaction de cet article, je me suis basé sur la <a href="http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/#howto-deployment-modwsgi">documentation de Django</a>. L&#8217;installation a été réalisée sur un serveur fonctionnant avec <a href="http://www.debian.org">Debian</a> Lenny.</p>
<h2>Installation de WSGI</h2>
<p><code>aptitude install libapache2-mod-wsgi</code></p>
<h2>Paramétrage de l&#8217;application pour l&#8217;utilisation d&#8217;Apache</h2>
<p>Pour ce faire créez par exemple un répertoire <em>apache</em> à la racine de votre site et ajouter un fichier nommé <em>django.wsgi</em>. Ajoutez les lignes suivantes :<br />
<code>import os<br />
import sys</code><br />
<code>sys.path.append('/usr/local/src/django_apps/app/')<br />
os.environ['DJANGO_SETTINGS_MODULE'] = 'monprojet.settings'</code><br />
<code>import django.core.handlers.wsgi<br />
application = django.core.handlers.wsgi.WSGIHandler()</code></p>
<p>Adaptez les lignes 3 et 4 à votre projet. Attention la ligne <em>sys.path.append</em> contient le chemin vers votre projet, nom du projet <strong>NON</strong> compris.</p>
<p>Il faut ensuite ajouter à Apache le site développé avec Django. Ajoutez par exemple à votre <em>virtualhost</em> les lignes suivantes :</p>
<p><code>Alias /media/ /usr/local/src/django_apps/app/monprojet/media/</code></p>
<p><code>&lt;Directory /usr/local/src/django_apps/app/monprojet/media&gt;<br />
Order deny,allow<br />
Allow from all<br />
&lt;/Directory&gt;</code></p>
<p><code>WSGIScriptAlias /monprojet /usr/local/src/django_apps/app/monprojet/apache/django.wsgi</code></p>
<p><code>&lt;Directory /usr/local/src/django_apps/app/monprojet/apache&gt;<br />
Order deny,allow<br />
Allow from all<br />
&lt;/Directory&gt;</code></p>
<ul>
<li>La ligne avec <em>Alias</em> permet de définir un chemin pour indiquer à Apache où aller chercher les fichiers statiques (images, css&#8230;).</li>
<li>La ligne avec <em>WSGIScriptAlias</em> définit l&#8217;URL pour l&#8217;appel de votre site.</li>
<li>Les directives avec <em>Directory</em> donnent l&#8217;accès aux répertoires à Apache</li>
</ul>
<p>Voilà, ne pas oublier de recharger la configuration d&#8217;Apache.</p>
<p><code>/etc/init.d/apache2 reload</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.libre-experience.org/index.php/2009/09/04/faire-fonctionner-django-avec-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erreur de connexion à la base de données Postgresql avec Django</title>
		<link>http://www.libre-experience.org/index.php/2009/08/06/erreur-de-connexion-a-la-base-de-donnees-postgresql-avec-django/</link>
		<comments>http://www.libre-experience.org/index.php/2009/08/06/erreur-de-connexion-a-la-base-de-donnees-postgresql-avec-django/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 15:45:00 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[postgresql]]></category>

		<guid isPermaLink="false">http://www.mirelsol.org/?p=135</guid>
		<description><![CDATA[Lorsque je tente de lancer la synchronisation entre Django et ma base de données PostgreSQL, j&#8217;obtiens le message d&#8217;erreur suivant :self.connection = Database.connect(**conn_params) psycopg2.OperationalError: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? Contexte : Debian Lenny Django 1.1 installé PostgreSQL [...]]]></description>
			<content:encoded><![CDATA[<p>Lorsque je tente de lancer la synchronisation entre <a href="http://www.django-fr.org/">Django</a> et ma base de données <a href="http://www.postgresqlfr.org/">PostgreSQL</a>, j&#8217;obtiens le message d&#8217;erreur suivant<span id="more-135"></span> :<code>self.connection = Database.connect(**conn_params)<br />
psycopg2.OperationalError: could not connect to server: No such file or directory<br />
Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?</code></p>
<p><strong>Contexte</strong> :</p>
<ul>
<li><a href="http://www.fr.debian.org">Debian</a> Lenny</li>
<li>Django 1.1 installé</li>
<li>PostgreSQL 8.3.6, installé à partir des sources</li>
</ul>
<p>Pourtant PostgreSQL est bien lancé, la base est accessible en utilisant l&#8217;utilitaire <em>psql</em>&#8230;</p>
<p>Eh bien quoi alors ?</p>
<p>Si on y regarde de plus près, il y a bien un fichier <em>.s.PGSQL.5432</em>, mais il est dans <em>/tmp</em>&#8230; en faisant:<code>$ mkdir /var/run/postgresql<br />
$ ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/</code></p>
<p>cela fonctionne !<br />
A noter que le problème ne se pose pas si on installe <em>PostgreSQL</em> à partir du gestionnaire de paquets&#8230;</p>
<p><strong>Edit : autre solution :</strong></p>
<p>A priori le problème vient de cette version de la bibliothèque <em>python-psycopg2</em> (utilisée par <em>Django</em> pour la connexion avec <em>PostgreSQL</em>) qui a en dur le chemin <em>/var/run/postgresql</em>. Une autre solution consiste à spécifier au serveur <em>PostgreSQL</em> le chemin qu&#8217;il doit utiliser pour stocker la socket de connexion. Pour ce faire, éditer le fichier <em>postgresql.conf</em> et mettre :</p>
<p><code>unix_socket_directory = '/var/run/postgresql'</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.libre-experience.org/index.php/2009/08/06/erreur-de-connexion-a-la-base-de-donnees-postgresql-avec-django/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Présentation du framework web python : Django</title>
		<link>http://www.libre-experience.org/index.php/2008/10/18/presentation-du-framework-web-python-django/</link>
		<comments>http://www.libre-experience.org/index.php/2008/10/18/presentation-du-framework-web-python-django/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 12:32:24 +0000</pubDate>
		<dc:creator>Marco</dc:creator>
				<category><![CDATA[Informatique]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.mirelsol.org/?p=49</guid>
		<description><![CDATA[Django (site officiel, site en français) est un framework web écrit en Python. Il permet de développer rapidement une application web dans ce même langage.. Dans le cadre de ma participation au projet de domotique Domogik, je suis en charge de développer la partie interface graphique qui devra fonctionner avec un navigateur. Le coeur du [...]]]></description>
			<content:encoded><![CDATA[<p>Django (<a href="http://www.djangoproject.com">site officiel</a>, <a href="http://www.django-fr.org/">site en français</a>) est un <a href="http://fr.wikipedia.org/wiki/Framework">framework</a> web écrit en Python. Il permet de développer rapidement une application web dans ce même langage.<span id="more-49"></span>.</p>
<p>Dans le cadre de ma participation au projet de domotique <a href="http://www.domogik.org">Domogik</a>, je suis en charge de développer la partie interface graphique qui devra fonctionner avec un navigateur. Le coeur du code de domotique étant déjà écrit en Python, nous avons pensé qu&#8217;il serait bien de rester homogène.</p>
<p>Evidemment avant de réinventer la roue (et donc de développer une application de A à Z), il vaut mieux voir ce qui a déjà été fait. Nous avons donc choisi le framework Django qui paraissait complet et simple à utiliser. Pour information, un framework est une base de travail qui contient un ensemble de composants logiciels, de conventions sur lequel votre code va s&#8217;appuyer. Les bénéfices sont la rapidité de développement et l&#8217;homogénéité des traitements dans votre application, ce qui facilitera la maintenance / les évolutions.</p>
<p><strong>Alors pourquoi Django ?</strong></p>
<p>Django est ce qu&#8217;on appelle un <a href="http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur">MVC</a> (Modèle, Vue, Contrôleur) c&#8217;est à dire qu&#8217;il propose une architecture qui isole le modèle de données, le pilotage de l&#8217;application (contrôles, logique d&#8217;enchaînement des pages) et la présentation (l&#8217;affichage du contenu).</p>
<p>Voici les points forts de Django :</p>
<ul>
<li><strong>Il est simple d&#8217;utilisation</strong>. A partir du moment où vous avez des connaissances en programmation et quelques notions de Python, vous êtes opérationnels en très peu de temps.</li>
<li><strong>Il est puissant</strong> : le meilleur exemple est la façon dont il gère les données. Pour être concret, je vous donne un aperçu :<br />
<code>class Langage(models.Model):<br />
  LANG_CHOICES = (<br />
		('l1', 'Python'),<br />
		('l2', 'Java'),<br />
		('l3', 'Php'),<br />
		('l4','Perl')<br />
  )<br />
	name = models.CharField(max_length=30, choices = CAPACITY_CHOICES)<br />
        desc = models.CharField(max_length=255)</code></p>
<p>Rien qu&#8217;avec ce morceau de code et avec l&#8217;exécution d&#8217;une simple ligne de commande, Django va :</p>
<p>1) Générer le script SQL et créer toute la structure (les tables internes à Django ainsi que la table <em>langage</em>).<br />
2) Générer automatiquement une interface web qui va vous permettre de saisir les différents langages. Ici dans cet exemple j&#8217;aurai automatiquement une liste déroulante avec les quatre éléments ainsi qu&#8217;un champ texte pour saisir une description.<br />
3) A noter qu&#8217;il est possible de spécifier des clés étrangères, des relations n-aires&#8230; C&#8217;est pas magique ?</li>
<li><strong>Il propose un système de templates</strong> efficace pour la partie présentation. En gros vous décrivez la structure de vos pages dans un fichier et ensuite pour chacune des pages vous redéfinissez simplement ce qui est spécifique (titre, contenu&#8230;).</li>
<li><strong>Il est indépendant de la base de données</strong>. Un simple paramétrage dans le fichier de configuration (<em>settings.py</em>) et vous passez d&#8217;une base à l&#8217;autre. J&#8217;ai fait le test en utilisant MySql et PostgreSQL !</li>
<li><strong>Il dispose d&#8217;un serveur de développement intégré</strong>. Pas besoin dans un premier temps d&#8217;avoir un serveur web configuré pour qu&#8217;il puisse fonctionner avec Python. De plus ce serveur est très léger et très rapide.</li>
<li><strong>La documentation de Django est excellente</strong> : complète et pédagogique. Je vous conseille notamment <a href="http://docs.djangoproject.com/en/dev/intro/tutorial01/">l&#8217;excellent tutoriel (anglais)</a> qui va vous permettre d&#8217;être opérationnel en très peu de temps. Il existe une <a href="http://www.django-fr.org/documentation/tutorial01/">version française</a> mais attention elle se base sur Django 0.9, alors que la dernière version est 1.0, ce qui peut poser quelques problèmes de compatibilités notamment dans certains noms de variables. En revanche le principe reste le même donc vous pouvez le lire pour avoir une vision d&#8217;ensemble.</li>
<li><strong>Il est facile à installer</strong> : il faut avoir Python (vaut mieux, hein ?) et les paquets MySql (<em>python-mysqldb</em>) et / ou PostgreSQL (<em>python-pgsql,  python-psycopg</em>). Ensuite il suffit de décompacter l&#8217;archive de Django et de lancer le setup.</li>
<li><strong>Il est écrit en Python</strong> : oui je sais les goûts et les couleurs&#8230; Cependant en toute objectivité Python est un formidable langage : il est puissant et simple d&#8217;utilisation. Venant du monde Java, je pense savoir de quoi je parle&#8230;</li>
</ul>
<p>Voilà donc pour cette présentation. Il existe d&#8217;autres frameworks tels que <a href="http://turbogears.org/">Turbogears</a> mais je ne le connais pas donc s&#8217;il y en a qui ont une opinion, n&#8217;hésitez pas à laisser un commentaire.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.libre-experience.org/index.php/2008/10/18/presentation-du-framework-web-python-django/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

