我正在尝试使用django-tables2呈现一个表,其中列之一是指向文件的链接。 Link column with link to a file in static (django-tables2, Django)响应非常接近,就我而言,我已将文件放置在static/pfd/
中。
pdf = tables.TemplateColumn(template_code='{% load static %}<a href="{% static value %}">{{record.pdf}}</a>')
**请注意{{record.pdf}}将在渲染时显示pdf的名称。
如果我的pdf位于静态目录中,则此代码段有效 ,否则我收到丢失的文件错误。我试图添加子目录,但是当我这样做时,我收到了无效的语法错误。
pdf = tables.TemplateColumn(template_code='{% load static %}<a href="{% static 'pdf/' %}">{{record.pdf}}</a>')
^
SyntaxError: invalid syntax
如何更新该行,以便路径正确,并导致出现此网址:
http://xx.xx.xx.xxx:8000/static/pdf/lapidus_1_0.pdf
代替:
http://xx.xx.xx.xxx:8000/static/lapidus_1_0.pdf
谢谢。
答案 0 :(得分:1)
尝试以下操作:
pdf = tables.TemplateColumn(template_code=
'''{% load static %}<a href="{% static 'pdf/'|add:value %}">{{record.pdf}}</a>''')
这会将value
创建的TemplateColumn
添加到'pdf/'
的末尾。有关value
和TemplateColumn
使用的其他上下文项的更多信息,请参见docs。
此外,正如我的评论中所述,请使用三引号'''
,以便将双引号和单引号都视为字符串中的字符。 pdf/
被转义,导致SyntaxError
。