【发布时间】:2020-04-09 06:40:49
【问题描述】:
我正在尝试在我的模板中为我的网站生成的 CSV 文件创建一个下载按钮(我是 Django 新手)。我已经创建了视图函数并更新了urls.py,但我得到了
'DoesNotExist:页面匹配查询不存在'
当我输入 URL ('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() 得到了一个意外的关键字参数 '文件路径'
【问题讨论】:
-
使用
download_csv(request, **kwargs)并打印kwargs,你会明白的 -
上面写着
{'filepath': 'download_table'}。我该怎么办?对不起,我是新手...