django下载文件

马上就要熄灯了,赶快记录一下写的一个django下载文件的例子,以便以后复习:

在views.py中设置

from django.core.servers.basehttp import FileWrapper
import mimetypes
import settings
import os

def file_download(request, filename):

    filepath = os.path.join(settings.MEDIA_ROOT, filename)  
    
    print (filepath) 
    wrapper = FileWrapper(open(filepath, 'rb'))
    content_type = mimetypes.guess_type(filepath)[0]
    response = HttpResponse(wrapper, mimetype='content_type')
    response['Content-Disposition'] = "attachment; filename=%s" % filename
    return response  

在settings.py中设置:

import os 
STATIC_URL = '/static/'

HERE = os.path.dirname(__file__) 
MEDIA_ROOT =  HERE+STATIC_URL


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

在url.py中设置:

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

在浏览器中输入:

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






你可能感兴趣的:(django下载文件)