#python #html #jinja2
Вопрос:
У меня есть таблица в html-шаблоне jinja, и для некоторых записей существуют PDF-файлы, связанные с этими записями. Я хочу проверить, существует ли PDF-файл, и если да, <a>
то следует создать тег. Я пробовал это, но не могу заставить это работать:
в app.py
:
@app.context_processor
def handle_context():
return dict(os=os)
в overview.html
:
{% if os.path.exists(url_for('static', filename='PDFs/'~item.number~'_Evaluation.pdf')) %}
<a href="{{ url_for('static', filename='PDFs/'~item.number~'_Evaluation.pdf') }}">if</a>
{% else %}
<a href="{{ url_for('static', filename='PDFs/'~item.number~'_Evaluation.pdf') }}">else</a>
{% endif %}
Возвращается os.path.exists False
, потому что таблица заполнена <a>else</a>
.
Когда я нажимаю <a>else</a>
на файл, он открывается, поэтому URL-адрес должен быть правильным.
Кто-нибудь может заметить мою ошибку? Заранее спасибо!
Комментарии:
1. Эмпирическое правило: логика принадлежит представлению, а не шаблону. Проверьте наличие файлов в представлении и передайте в шаблон результат (т. е. в этом случае путь к файлу)