我是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
有人可以指导我进行一些讨论或指出我缺少的内容吗?
谢谢!
答案 0 :(得分:0)
我发现了我的代码问题。在我退货之前我关闭了文件。在views.py中注释掉第二行后,它运行正常。我在apache日志文件中找到了错误消息,但是即使DEBUG设置为True,也没有在浏览器中收到任何错误消息。 现在,此解决方案的问题在于,有些文件已打开但从未关闭。