<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Circonflex.fr | Derniers articles</title><link>http://www.circonflex.fr/actus/</link><description>Les derniers articles et actus de Circonflex-studio</description><atom:link href="http://www.circonflex.fr/actus/flux/rss/" rel="self"></atom:link><language>fr-FR</language><lastBuildDate>Thu, 27 Mar 2025 14:27:40 -0000</lastBuildDate><item><title>Django template tag dynamique template</title><link>http://www.circonflex.fr/actus/django-template-tag-dynamique-template-98/</link><description>&lt;p&gt;Lors du développement de vos projets avec le &lt;strong&gt;framework Django&lt;/strong&gt;, vous utilisez très souvent les &lt;strong&gt;templates tags&lt;/strong&gt; qui permettent une réutilisation du code dans vos templates, si vous ne connaissez tout est &lt;a class="external" title="Template tags" href="https://docs.djangoproject.com/fr/1.11/howto/custom-template-tags/" target="_blank"&gt;expliqué dans la documentation&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Quand vous utilisez  un &lt;strong&gt;tag inclusion&lt;/strong&gt; avec le raccourci &lt;strong&gt;@register.inclusion_tag('results.html')&lt;/strong&gt; par exemple, Ce tag permet d'inclure un résultat d'un queryset ou autres dans le template passé en paramètre. Jusqu'ici pas très compliqué, mais voilà pour coller le plus aux conventions &lt;a class="external" title="DRY (don't repeat yourself)" href="https://fr.wikipedia.org/wiki/Ne_vous_r%C3%A9p%C3%A9tez_pas"&gt;&lt;strong&gt;DRY&lt;/strong&gt;&lt;/a&gt; (don't repeat yourself) si nous voulons que la logique de notre tag puisse être utilisée dans un autre template, et bien avec le raccourci ci-dessus nous ne pouvons pas à moins de dupliquer le code.&lt;/p&gt;</description><guid>http://www.circonflex.fr/actus/django-template-tag-dynamique-template-98/</guid></item><item><title>Django tests unitaire assertQuerysetEqual</title><link>http://www.circonflex.fr/actus/django-tests-unitaire-assertquerysetequal-97/</link><description>&lt;p&gt;&lt;span&gt;J'utilise de plus en plus le &lt;/span&gt;&lt;strong&gt;&lt;a class="external" title="Test driven development" href="https://fr.wikipedia.org/wiki/Test_driven_development"&gt;TDD&lt;/a&gt; &lt;/strong&gt;&lt;span&gt;pour mes &lt;/span&gt;&lt;strong&gt;développements en Python Django&lt;/strong&gt;&lt;span&gt;, je trouve que les &lt;/span&gt;&lt;strong&gt;tests unitaires&lt;/strong&gt;&lt;span&gt; sont essentiels suivant le type de projet et nous font gagner un temps précieux ainsi qu'en robustesse lors du développement d' applications&lt;/span&gt;&lt;/p&gt;</description><guid>http://www.circonflex.fr/actus/django-tests-unitaire-assertquerysetequal-97/</guid></item><item><title>Django tests unitaires ImportError __init__.py</title><link>http://www.circonflex.fr/actus/django-tests-unitaires-ImportError-96/</link><description>&lt;p&gt;&lt;span&gt;Voici une petite astuce lors de l'utilisation des tests unitaire avec le &lt;/span&gt;&lt;strong&gt;framework Django&lt;/strong&gt;&lt;span&gt;, lors de leurs utilisations  avec la dernière version de &lt;/span&gt;&lt;strong&gt;Django&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;em&gt;(actuellement la 1.10)&lt;/em&gt;&lt;span&gt; et le &lt;/span&gt;&lt;a class="external" title="CMS Django Mezzanine" href="http://mezzanine.jupo.org/"&gt;CMS Mezzanine&lt;/a&gt;&lt;span&gt;, j'ai été confronté à une erreur d'import lors de l'utilisation de la commande pour exécuter mes &lt;/span&gt;&lt;strong&gt;tests unitaire&lt;/strong&gt;&lt;/p&gt;</description><guid>http://www.circonflex.fr/actus/django-tests-unitaires-ImportError-96/</guid></item><item><title>Gestion de projet avec Pagico</title><link>http://www.circonflex.fr/actus/gestion-de-projet-avec-pagico-95/</link><description>&lt;p&gt;&lt;span&gt;Il y a 2 semaines environ, j'ai entrepris des recherches pour changer de logiciel de gestion de projet et tâches, j'utilise régulièrement Todoist pour mes tâches et projets ainsi que Trello, mais voilà je trouvais que ces 2 outils n'étaient plus adaptés à mon workflow, pour Todoist il manque une vue calendrier, le diagramme Gantt (très pratique) et les date de début d'une tâche. Pour Trello il y a bien une vue calendrier très pratique mais lorsque l'on veut avoir une vue calendrier sur plusieurs projets ça bloque il faut donc passer par une application extérieure.&lt;/span&gt;&lt;/p&gt;</description><guid>http://www.circonflex.fr/actus/gestion-de-projet-avec-pagico-95/</guid></item><item><title>Update table innoDB et Django </title><link>http://www.circonflex.fr/actus/update-table-innodb-django-92/</link><description>&lt;p&gt;En travaillant avec le &lt;strong&gt;framework Django&lt;/strong&gt;et une base de données InnoDB, il se peut que lors d'un enregistrement ou bien d' une mise à jour d'un champ de modèle lié, vous recontreriez une erreur du type:&lt;/p&gt;
&lt;pre class="php"&gt;IntegrityError 1452 Cannot add or update a child row: a foreign key constraint fails&lt;/pre&gt;</description><guid>http://www.circonflex.fr/actus/update-table-innodb-django-92/</guid></item><item><title>Vacances fin d'année 2016</title><link>http://www.circonflex.fr/actus/vacances-fin-annee-2016-91/</link><description>&lt;p&gt;&lt;span&gt;Circonflex-studio vous souhaite de très bonnes fêtes de fin d'année, je serais en vacances à partir du 22/12/2016 au soir (donc aujourd'ui) jusqu'au 05/01/2017, n'hésitez pas à me contacter par mail si besoin&lt;/span&gt;&lt;/p&gt;</description><guid>http://www.circonflex.fr/actus/vacances-fin-annee-2016-91/</guid></item><item><title>Champ ChoiceField dynamique </title><link>http://www.circonflex.fr/actus/champ-choicefield-dynamique-django-90/</link><description>&lt;p&gt;&lt;span&gt;Dans certains cas en utilisant le&lt;/span&gt;&lt;strong&gt; framework Django&lt;/strong&gt;&lt;span&gt; nous avons besoin d'ajouter un champ &lt;/span&gt;&lt;strong&gt;ChoiceField dynamique&lt;/strong&gt;&lt;span&gt; et non pas juste une liste de valeurs statiques contenues dans tuple ou liste, mais aussi que la liste des valeurs de la liste soit liée à un autre modèle, Je vais donc vous montrer comment réaliser ça rapidement avec le framework&lt;/span&gt;&lt;/p&gt;</description><guid>http://www.circonflex.fr/actus/champ-choicefield-dynamique-django-90/</guid></item><item><title>Affiché champ model lié admin Django</title><link>http://www.circonflex.fr/actus/afficher-champ-model-lie-admin-django-89/</link><description>&lt;p&gt;&lt;span&gt;Un rapide article pour expliquer comment faire pour afficher dans l'admin de &lt;/span&gt;&lt;strong&gt;Django&lt;/strong&gt;&lt;span&gt; dans &lt;/span&gt;&lt;strong&gt;list_display&lt;/strong&gt;&lt;span&gt; exactement un champ de modèle lié voici un exemple je voudrais affiché la liste des noms du model A dans le modèle B&lt;/span&gt;&lt;/p&gt;</description><guid>http://www.circonflex.fr/actus/afficher-champ-model-lie-admin-django-89/</guid></item><item><title>Contao alternative Safe Mode Hack</title><link>http://www.circonflex.fr/actus/contao-alternative-safe-mode-hack-linux-88/</link><description>&lt;p&gt;&lt;span&gt;Si comme moi vous utilisez parfois le &lt;/span&gt;&lt;a class="external" title="CMS Contao" href="https://contao.org/en/"&gt;CMS Contao&lt;/a&gt;&lt;span&gt; (et oui il n'y a pas que Mezzanine)  pour le &lt;/span&gt;&lt;strong&gt;développement de vos projets&lt;/strong&gt;&lt;span&gt; et que vous êtes sous linux ou autres, il y a quelque chose de très ennuyeux lors de l'installation c'est le &lt;/span&gt;&lt;strong&gt;&lt;a class="external" title="Safe mode hack" href="https://docs.contao.org/books/manual/3.2/en/01-installation/using-the-safe-mode-hack.html"&gt;Safe Mode Hack&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;</description><guid>http://www.circonflex.fr/actus/contao-alternative-safe-mode-hack-linux-88/</guid></item><item><title>Mezzanine blocks et multilangues</title><link>http://www.circonflex.fr/actus/mezzanine-blocks-multilangues-modeltranslation-87/</link><description>&lt;p&gt;&lt;span&gt;J'utilise très fréquemment pour mes projets &lt;/span&gt;&lt;strong&gt;développés avec le CMS Mezzanine&lt;/strong&gt;&lt;span&gt; basé sur le &lt;/span&gt;&lt;strong&gt;framework Django&lt;/strong&gt;&lt;span&gt;, l'application &lt;/span&gt;&lt;a class="external" title="Mezzanine block" href="https://github.com/renyi/mezzanine-blocks"&gt;Mezzanine blocks&lt;/a&gt;&lt;span&gt; permettant d'ajouter des blocs administrables un peu partout.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;J'ai d'ailleurs forké cette application et écris un article dessus &lt;/span&gt;&lt;a class="internal" title="Fork mezzanine blocks" href="/actus/fork-mezzanine-block-83/"&gt;Fork mezzanine blocks&lt;/a&gt;&lt;span&gt;, pour ajouter le passage d'arguments au templatetags, un autre &lt;/span&gt;&lt;a class="internal" title="Présentation Mezzanine blocks" href="/actus/presentation-module-mezzanine-blocks-58/"&gt;article de présentation&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;</description><guid>http://www.circonflex.fr/actus/mezzanine-blocks-multilangues-modeltranslation-87/</guid></item></channel></rss>