【问题标题】:Django UpdateView: translate form labelsDjango UpdateView:翻译表单标签
【发布时间】:2017-12-03 03:37:14
【问题描述】:

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

下面是视图类的代码:

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>

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

【问题讨论】:

    标签: django django-templates django-i18n


    【解决方案1】:

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

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

    (您可以通过使用label 参数覆盖表单中的定义来执行相同操作,但在模型中执行此操作可确保它在任何地方都被翻译。)

    【讨论】:

    • 是的,这似乎有效。但是,我不确定我是否希望将其翻译到任何地方。我不太明白它的所有含义。
    • 我的意思是在每个表单以及管理员中。它不会被翻译成代码或任何你没有明确使用详细名称的地方。
    猜你喜欢
    • 2011-11-27
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 2017-01-02
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多