代码改变世界

django下载文件

2013-09-29 10:25  Lves Li  阅读(767)  评论(0编辑  收藏  举报

赶快记录一下写的一个django下载文件的例子,以便以后复习:

在views.py中设置

 

  1. from django.core.servers.basehttp import FileWrapper  
  2. import mimetypes  
  3. import settings  
  4. import os  

 

 

  1. def file_download(request, filename):  
  2.   
  3.     filepath = os.path.join(settings.MEDIA_ROOT, filename)    
  4.       
  5.     print (filepath)   
  6.     wrapper = FileWrapper(open(filepath, 'rb'))  
  7.     content_type = mimetypes.guess_type(filepath)[0]  
  8.     response = HttpResponse(wrapper, mimetype='content_type')  
  9.     response['Content-Disposition'] = "attachment; filename=%s" % filename  
  10.     return response    


在settings.py中设置:

 

 

  1. import os   
  1. STATIC_URL = '/static/'  
  2.   
  3. HERE = os.path.dirname(__file__)   
  4. MEDIA_ROOT =  HERE+STATIC_URL  

 

 

最后在settings.py同一目录下设置一个文件夹static。 在文件价中添加文件1.ipg

在url.py中设置:

 

  1. url('^fileDownload/filename=(?P<filename>.{1,500})/$', 'DjangoDemo2.views.file_download'),#download  


在浏览器中输入:

 

url    :http://localhost:8000/fileDownload/filename=1.jpg/即可下载。