Link 列 link 到静态文件(django-tables2,Django)
Link column with link to a file in static (django-tables2, Django)
我在 Django 中用 django-tables 生成了一个 table。
我想创建一个包含 links 的列到我的静态目录中的 txt 文件。
当用户单击 link 时,应显示 txt 文件。
要在 html 中为 txt 文件创建 link,我只需执行以下操作:
<a href="{% static co.log %}">txtfile</a>
但是,我在使用 django-tables 找到正确的方法时遇到了问题。
我尝试按如下方式定义 link 列:
logfiles = tables.LinkColumn('{static', text='txtfile', args=[A('log')], orderable=False, empty_values=())
这给出了错误
"Reverse for '{static' not found. '{static' is not a valid view function or pattern name."
我也试过这个:
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>')
所以我可以找到一种方法来打开一个新的 url,但是如何打开一个特定的静态文件,i.e.how 以传递来自 [A('log')] 的信息, 这基本上是文件名?
感谢任何帮助。
您可以使用 TemplateColumn
来实现:
class LogTable(tables.Table):
log = tables.TemplateColumn(
template_code='{% load static %}<a href="{% static value %}">txtfile</a>'
)
注意列名是log
,所以不需要指定accessor。如果您希望颜色以不同的名称出现,请使用 verbose_name
kwarg。
我在 Django 中用 django-tables 生成了一个 table。 我想创建一个包含 links 的列到我的静态目录中的 txt 文件。 当用户单击 link 时,应显示 txt 文件。
要在 html 中为 txt 文件创建 link,我只需执行以下操作:
<a href="{% static co.log %}">txtfile</a>
但是,我在使用 django-tables 找到正确的方法时遇到了问题。 我尝试按如下方式定义 link 列:
logfiles = tables.LinkColumn('{static', text='txtfile', args=[A('log')], orderable=False, empty_values=())
这给出了错误 "Reverse for '{static' not found. '{static' is not a valid view function or pattern name."
我也试过这个:
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>')
所以我可以找到一种方法来打开一个新的 url,但是如何打开一个特定的静态文件,i.e.how 以传递来自 [A('log')] 的信息, 这基本上是文件名?
感谢任何帮助。
您可以使用 TemplateColumn
来实现:
class LogTable(tables.Table):
log = tables.TemplateColumn(
template_code='{% load static %}<a href="{% static value %}">txtfile</a>'
)
注意列名是log
,所以不需要指定accessor。如果您希望颜色以不同的名称出现,请使用 verbose_name
kwarg。