Связать столбец с файлом в статическом подкаталоге; Джанго-tables2 - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь использовать django-tables2 для рендеринга таблицы, в которой один из столбцов является ссылкой на файл. Столбец Ссылка со ссылкой на файл в статическом (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

Как я могу обновить эту строку, чтобы путь был правильным и привел к этому URL:

http://xx.xx.xx.xxx:8000/static/pdf/lapidus_1_0.pdf

Вместо:

http://xx.xx.xx.xxx:8000/static/lapidus_1_0.pdf

Заранее спасибо.

1 Ответ

0 голосов
/ 09 января 2019

Попробуйте следующее:

pdf = tables.TemplateColumn(template_code=
  '''{% load static %}<a href="{% static 'pdf/'|add:value %}">{{record.pdf}}</a>''')

Это добавит value, созданный TemplateColumn к концу 'pdf/'. Для получения дополнительной информации о value и других элементах контекста, используемых с TemplateColumn, см. документы .

Также, как отмечалось в моем комментарии, используйте тройные кавычки ''', поэтому двойные и одинарные кавычки рассматриваются как символы в строке. pdf/ сбежал, вызвав SyntaxError.

...