Django:如何从用户给定的 URL 下载文件?

0 投票
2 回答
556 浏览
提问于 2025-04-18 03:09

我想让用户提供一个网址,然后Django可以自动下载这个网址的内容,但我不知道该怎么做。谢谢大家的帮助。

2 个回答

1

我的建议是,你可以使用celeryrequest来异步下载文件。这里有一个网站,详细讲解了如何将DjangoCelery结合起来。

1

你可以使用 requests库 来获取一个网址。

要从用户那里获取网址,你可以使用一个 表单

然后,在视图中,你可以这样做:

if request.method == 'POST': # If the form has been submitted...

    form = URLForm(request.POST) # A form bound to the POST data
    if form.is_valid(): # All validation rules pass
        response = requests.get(form.entered_url,stream=True)
        with open('save_file','w') as f:
            for chunk in response.iter_content():
                f.write(chunk)
        return HttpResponseRedirect('/thanks/') # Redirect after POST

撰写回答