Django UpdateView:翻译表单标签

Django UpdateView: translate form labels

我使用 Django 的 UpdateView class 创建了一个相当简单的表单,但是,现在我希望将它的标签翻译成其他语言,但我不知道该怎么做。

这里是视图的代码class:

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

在我的模板中,我只有:

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

在哪里查找翻译后的字符串?

您应该在模型本身中将标签标记为可翻译。

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

(您可以通过使用 label 参数覆盖表单中的定义来实现相同的目的,但在模型中这样做可确保它在任何地方都得到翻译。)