2017-06-29 1 views
0

J'ai créé une forme assez simple en utilisant la classe UpdateView de Django, mais maintenant que je veux que ses étiquettes soient traduites dans d'autres langues, je ne sais pas comment faire cela.Django UpdateView: traduire les étiquettes de formulaire

Voici le code de la classe de vue:

class EntityUpdate(UpdateView): 
    model = Entity 
    template_name = "entity/settings.html" 
    fields = ["enabled"] 

Et dans mon modèle, tout ce que j'ai est:

<form action="" method="post">{% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="{% trans 'Save' %}" /> 
</form> 

Où dois-je recherche des chaînes traduites?

Répondre

1

Vous devez marquer l'étiquette comme traduisible dans le modèle lui-même.

class Entity(models.Model): 
    enabled = models.BooleanField(verbose_name=_('enabled')) 

(Vous pouvez faire la même chose en remplaçant la définition de la forme, en utilisant l'argument label, mais le faire dans le modèle, il se traduit assure partout.)

+0

Yep, qui semblait fonctionner. Cependant, je ne suis pas sûr de vouloir le traduire partout. Je ne comprends pas tout à fait toutes les implications de cela. – Ibolit

+1

Je veux juste dire sous toutes ses formes ainsi que l'administrateur. Il ne sera pas traduit dans le code ou n'importe où vous n'utilisez pas explicitement le nom verbeux. –