Django-taggit - modeltranslation

17 Fév


En ce moment en pleine internationalisation de mon site et après plusieurs recherches afin de choisir la bonne application Django pluguable, j'ai finalement choisi django-modeltranslation pour internationaliser mon site Django
En lisant la documentation tout est assez claire, sauf quand je me suis hurter à un petit problème "Comment internationaliser django-taggit avec ? "

Comment faire ?

Dans un premier temps il faut installer les 2 applications:

$ pip install django-modeltranslation

$ pip install django-taggit

Ensuite dans mon fichier translation.py:

from modeltranslation.translator 
import translator, TranslationOptions
import taggit.models
class TaggitTranslations(TranslationOptions):
  """    important mettre bien le champ name du model taggit
  et pas le chammp qui contient le taggablemanager
  """
   fields = ('name',)
"""
important ne pas pas mettre le model qui contient le manager Taggit mais directement
la class Tag de models
"""
translator.register(taggit.models.Tag, TaggitTranslations)

Lisez bien les commentaire tout est expliqué, si non vous aurez une belle erreur:

django.core.exceptions.ImproperlyConfigured: TaggableManager is not supported by modeltranslation.

Cela veut juste dire que modeltranslation ne peut pas traduire un Manager, il faut donc cibler le champ du model taggit directement.

Les champs de traduction n'apparaîtront pas directement dans vos models qui contiennent le champs tag, il faudra donc pour les traduire aller dans l'application Taggit via l'administration et là les champs de traduction apparaîtront pour inserer les nouvelles traductions.

Si vous rencontrez des problèmes voici la solution sur Github

Publié le: Lundi 17 février 2014
blog comments powered by Disqus
Monter

© Circonflex-studio - Tous droits réservés - Mentions legales
Développeur web indépendant / Webdesigner / Intégrateur
Nice - Cannes - Monaco - Antibes - côte d'azur | site valide HTML 5

Ce site à été développé en Python avec le framework Django

"http://www.cssawards.net/nominee/circonflex-studio/"