Я пытаюсь создать в своем шаблоне кнопку загрузки для файла csv, созданного моим веб-сайтом (я новичок в Django). Я создал функцию просмотра и обновил urls.py, но при вводе URL я получаю «DoesNotExist: Запрос на сопоставление страниц не существует» («http://127.0.0.1: 8000 / download_table »). Я также хотел бы знать, как создать ссылку / кнопку для загрузки в моем шаблоне html.
views.py:
def download_csv(request):
table_selected = request.POST.get('Table_select')
index_of_table_selected = int(re.search(r'\d+$', table_selected).group())
result_json_selected = request.session.get('result', 'missing')[index_of_table_selected]
dataframe_selected = pd.read_json(result_json_selected)
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename=%s' % 'Table.csv'
dataframe_selected.to_csv(path_or_buf=response, sep=';', float_format='%.2f', index=False, decimal=",")
return response
urls.py:
urlpatterns = [
path('', views.index, {'pagename': ''}, name='home'),
path('<str:pagename>', views.index, name='index'),
path('download_table/', views.download_csv, name='download_csv'),]
Кроме того, что я могу добавить в свой шаблон? Что-то вроде этого?
<a href="download_table/" download> Download File</a>
Эта ссылка возвращает ошибку
TypeError: download_csv () получил неожиданный аргумент ключевого слова 'filepath'