在django中提供可下载文件会引发服务器错误

时间:2015-01-09 14:52:51

标签: python django server

我是django的新手。我正在尝试使用django FileWrapper提供可下载的文件。但是,我一直收到内部服务器错误消息。

编辑:我的settings.py

DEBUG=True

链接html:

abcd.com/downloadResult/fileName/

我的urls.py

url(r'^downloadResult/(\w{0,50})/$',"myApp.views.showResult",name="Result"),

我的views.py

from django.core.servers.basehttp import FileWrapper
def showResult(request,fileName):
    file=open("/path/to/file/"+fileName+".txt","r")
    response=HttpResponse(FileWrapper(file),mimetype='application/force-download')
    response['Content-Disposition']='attachment; filename=%s' % smart_str(fileName+".txt")
    file.close()
    return response

有人可以指导我进行一些讨论或指出我缺少的内容吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现了我的代码问题。在我退货之前我关闭了文件。在views.py中注释掉第二行后,它运行正常。我在apache日志文件中找到了错误消息,但是即使DEBUG设置为True,也没有在浏览器中收到任何错误消息。 现在,此解决方案的问题在于,有些文件已打开但从未关闭。