我想创建一个需要登录的简单页面,并且有一个按钮,点击它会下载一个csv文件。
下面的代码运行良好,但这会直接下载该文件。
df.groupby(df.index.get_level_values('Date').hour).mean()
我可以创建一个按钮并将视图链接到它的模板,但是如何从中返回上面的响应。
@login_required(login_url='/admin/login/')
def index(request):
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="data.csv"'
writer = csv.writer(response)
writer.writerow(['First row', 'Foo', 'Bar', 'Baz'])
writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "Here's a quote"])
return response
答案 0 :(得分:0)
创建一个单独的视图,返回csv文件,并设置表单以将其提交指向该视图:
<form action="{% url 'my_csv_view' %} method="get">
<input type="submit" value="Click" name="mybtn">
</form>
在这种情况下,您的csv文件将由名为“my_csv_view”的视图提供,但您可以将其更改为更适合您的内容。