Если вы посмотрите на источник TemplateColumn
(http://django -tables2.readthedocs.io / en / latest / _modules / django_tables2 / columns / templatecolumn.html ), вы увидите__init__()
проверяет наличие атрибута template_column
или template_name
, и, если ни один из них не найден, указывается ValueError
, который вы упомянули.
Теперь проблема в том, что вы устанавливаете атрибут template_name
после того, как вы вызвали super(...).__init__
в своем классе, таким образом, атрибут template_name
пуст!
Отредактировано
Извините, я не очень тщательно проверял исходный код, он написан довольно забавно и не использует атрибуты.В любом случае, из того, что я вижу сейчас, вам нужно переопределить __init__
, чтобы передать параметр template_name
родительскому init, что-то вроде этого:
class DeleteColumn(tables.TemplateColumn):
def __init__(self, *args, **kwargs):
# This will pass ``template_name`` to the super().__init__ along with any args and kwargs
super(DeleteColumn, self).__init__(*args, template_name='wakemeup/admin/delete_link.html', **kwargs)
self.verbose_name=''
Надеюсь, это работает сейчас!