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

时间:2014-04-17 17:13:48

标签: python django

我想让用户提供一个网址,django会自动下载但不知道该怎么做。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用requests library检索网址。

要从用户获取网址,您可以使用form

然后,在视图中,您可以执行类似

的操作
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

答案 1 :(得分:1)

我的建议是使用celeryrequest来异步下载文件。有一个site可以全面解释如何整合DjangoCelery