嗨,我正在与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' object is not callable
问题是如果我使用表格。列,它可以很好地翻译,所以只有当我使用TemplateColumn时才会出现问题。
如果你能指导我,我会很感激的,谢谢。
您的代码看起来与verbose_name
参数很相关,并且应该以这种方式工作。但是我认为你在TemplateColumn
的第一个参数中错误地使用了单/双引号。你应该使用:
delete = tables.TemplateColumn(
'<a href="{% url "price-update" record.id %}">{% trans "Delete" %}</a>',
verbose_name=_("Delete"),
)