【问题标题】:Translating django tables2 template column header翻译 django tables2 模板列标题
【发布时间】:2021-09-12 12:30:00
【问题描述】:

您好,我正在使用 django-tables2,我有一个表格,我需要在其中翻译每列的标题。

class ModelTable(tables.Table):
    name = tables.columns.Column()
    edit = tables.TemplateColumn('<a href='{% url "edit_my_model_instance" record.id %}'>Edit</a>', verbose_name=u'Edit', )    
    delete = tables.TemplateColumn('<a href='{% url "del_my_model_instance" record.id %}'>Delete</a>', verbose_name=u'Delete', )    

    class Meta:
        model = models.Model

上面没有翻译的代码可以正常工作,但是当我像这样添加 gettext 进行翻译时:

  delete = tables.TemplateColumn('<a href='{% url "del_my_model_instance" record.id %}'>Delete</a>', verbose_name=_(u'Delete'), )    

我将 gettext 添加为 _ :verbose_name=_(u'Delete')

我收到以下错误

TypeError: 'TemplateColumn' 对象不可调用

问题是,如果我使用 tables.Column,它可以很好地进行翻译,所以问题仅在我使用 TemplateColumn 时出现。

如果您能指导我完成此操作,我将不胜感激,谢谢。

【问题讨论】:

    标签: django django-tables2 django-i18n


    【解决方案1】:

    您的代码看起来与verbose_name 参数非常相关,应该可以这样工作。 但我认为您在TemplateColumn 的第一个参数中错误地使用了单引号/双引号。你应该使用:

    delete = tables.TemplateColumn(
        '<a href="{% url "price-update" record.id %}">{% trans "Delete" %}</a>',
        verbose_name=_("Delete"),
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 2012-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多