Я создаю сайт с Django
, где пользователи загружают файл (например, test.png
), который затем обрабатывается, и в локальном каталоге ../django/myproject/mysite/csv/test.csv
создается новый файл (test.csv
).Пользователи могут продолжать загружать файлы и создавать больше .csv
файлов.Страница результатов покажет файлы .csv
, и пользователь сможет загрузить эти файлы.
Однако я запутался, поскольку не могу их загрузить.
views.py
def make_csv(request):
...
csv_filename = str(in_csv_file)
#send to result page
return render(request, 'thesite/results.html', {"csv_filename": csv_filename})
def download_csv(request, csvfile):
path = os.path.join(SETTING_DIR)
filename = path + csvfile + ".csv"
filewrapper = FileWrapper(open(filename, 'rb'))
response = HttpResponse(filewrapper, content_type='text/csv')
response['Content-Length'] = os.path.getsize(filename)
response['Content-Disposition'] = 'attachment; filename="{}"'.format(csvfile +".csv")
return response
results.html
<tbody>
<tr>
<td></td>
<td>{{csv_filename}}</td>
<td>
<a href='/thesite/download_csv/{{csv_filename}}'>
Download {# do i add something here? #}
</a>
</td>
</tr>
</tbody>
urls.py
urlpatterns = [
...
path('results/', views.results, name='results'),
path(
'download_csv/(?P<csvfile>.+)$/',
views.download_csv,
name='download_csv'), # or do I add something here??
]
I 'Извините, если мой вопрос неясен.Спасибо за вашу помощь.