在Python/Django中保存/导出文件时打开标准文件浏览窗口

2 投票
2 回答
2332 浏览
提问于 2025-04-21 04:55

我正在用Python和Django框架开发一个网页应用。在这个应用中,有一部分需要把数据库表里的内容导出成.csv格式的文件,保存到本地磁盘。我想知道有没有办法在网页上放一个“选择目录”的按钮,点击后能弹出一个文件浏览器窗口,让用户选择想要保存这个文件的文件夹。

我有点困惑,不知道这个功能应该用Python、Django还是JavaScript来实现。

我希望能返回一个字符串,表示用户想要存储这个文件的位置。

更新- 我已经知道怎么把内容导出到.csv文件了。我给数据库发这个命令:“copy " + table_name + " to '" + path + "' delimiter ',' csv header;”,这样就可以完成导出。所以我现在只需要用户选择的路径。我可以让用户手动在一个文本框里输入路径然后提交表单,但如果能弹出一个文件浏览器窗口,让用户选择存储文件的位置,那就更好了。

2 个回答

0

我觉得你可以使用StreamingHttpResponse,或者像@Igor Pormaranskiy建议的那样,简单地使用HttpResponse

比如说:http://django.readthedocs.org/en/1.7.x/howto/outputting-csv.html

还有http://djangotricks.blogspot.com/2013/12/how-to-export-data-as-excel.html

1

当然可以做到这一点。你可以看看官方的文档:

https://docs.djangoproject.com/en/1.7/howto/outputting-csv/

撰写回答