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/即可下载。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值