在我的Django项目中,我以JSON和CSV格式抓取数据。我想让用户下载JSON和CSV文件。
下面的代码在我的django项目目录中生成文件。
- views. py**
final = json.dumps(sorted_result, indent=2)
with open("webscraping_dataset.json", "w") as outfile:
outfile.write(final)
df = pd.DataFrame({"Name": name, "Price": price, "URL":URL})
df.to_csv("data.csv")
我应该如何在我的Django项目中实现它,以便用户可以下载这些文件?
谢谢。
2条答案
按热度按时间u59ebvdq1#
如果您已经生成了CSV和JSON,我认为您需要首先在www.example.com中返回它们views.py:
然后,您需要向www.example.com添加一个URLurls.py,以指向views.py:
当用户请求URL/download/时,它应该调用您的函数并返回生成的CSV和JSON。
这篇文章可能会提供更多的清晰度:https://www.etutorialspoint.com/index.php/252-django-generate-and-download-csv-file
dojqjjoe2#
a)通过HTML页面下载:
通常你会把这些生成的文件作为媒体文件处理(比如用户上传了一个用户图片等,你需要存储和提供它)。
在settings.py定义
在视图中使用MEDIA_ROOT(可能会向MEDIA_ROOT添加一些子文件夹):
将MEDIA_ROOT添加到视图中的上下文:
在HTML中使用
然后,您仍然需要关心媒体文件是由HTTP服务器提供的。
如果您在http.conf中使用Apache
B)直接从视图下载:
如果你想直接从没有html页面的视图返回文件:
CSV
JSON: