链接列与静态文件的链接(django-tables2,Django)

时间:2018-04-20 17:58:37

标签: django django-tables2

我在Django中生成一个带有django-tables的表。 我想在我的静态目录中创建一个包含txt文件链接的列。 当用户点击链接时,应显示txt文件。

要在html中创建指向txt文件的链接,我只需执行以下操作:

<a href="{% static co.log %}">txtfile</a>

但是,我在使用django-tables找到正确的方法时遇到了问题。 我尝试按如下方式定义链接​​列:

logfiles = tables.LinkColumn('{static', text='txtfile', args=[A('log')], orderable=False, empty_values=())

这给出了错误 “反向'{static'not found。'{static'不是有效的视图函数或模式名称。”

我也试过这个:

tables.py

logfiles = tables.LinkColumn('logfile', text='bla', orderable=False, empty_values=())

urls.py:

url(r'^logfile/', views.logfile, name='logfile')

views.py:

def logfile(request):
return HttpResponse('<p>yeah</p>')

所以我可以找到一种打开新网址的方法,但是如何打开一个特定的静态文件,即如何从[A('log')]传递信息,这基本上就是文件名?

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用TemplateColumn来实现此目的:

class LogTable(tables.Table):
    log = tables.TemplateColumn(
        template_code='{% load static %}<a href="{% static value %}">txtfile</a>'
    )

请注意,列名称为log,因此无需指定访问者。如果您希望颜色以不同的名称显示,请使用verbose_name kwarg。