Я пытаюсь предложить вариант загрузки, если файл daily-yyyy-mm.csv выходит, но он всегда показывает Not Avaialable , даже если файл существует.
Я сделал словарь (file_list) в views.py, который сохраняет значение True для этого индекса, если файл существует. Я проверил путь, сгенерированный в os.path.join, и он правильный, а также в словаре есть True для существующих файлов. Я думаю, что проблема заключается в использовании 2 вложенных точечных операторов при доступе к словарю в шаблоне.
Шаблон
{% for upload in upload_list %}
<tr>
{%if file_list.upload.upload_report_date %}
<td><a href="{%static 'media/daily-{{ upload.upload_report_date|date:"Y-m" }}.csv" download >Download</a></td>
{% else %}
<td>Not Available</td>
{% endif %}
</tr>
{% endfor %}
Views.py
upload_list = Upload.objects.all().order_by('-upload_at')
file_list={}
for upload in upload_list:
try:
if os.path.exists(os.path.join(settings.MEDIA_ROOT,'daily-%s.csv' % (upload.upload_report_date).strftime("%Y-%m"))):
file_list[upload.upload_report_date]=True
except:
pass
Я использую python 2,7 и django 1,6,7.