1. 程式人生 > >Django實現檔案從伺服器下載到本地

Django實現檔案從伺服器下載到本地

首先在urls.py中匯入download方法並設定urlpatterns :

urlpatterns =  patterns('',
url(r'^download/', download,name='crm_download'),);

相應的templates的html檔案中新增重定向的地址:

 <a href="/download/?field={{field}}&name={{doc}}.docx"> 
 <i class="fa fa-download" data-toggle=tooltip"></i></a>

在views.py中新增下載的請求和響應:

def download(request):
    field = request.GET.get('field')
    name = request.GET.get('name')
    file = open( basedir+field+'/'+name,'rb')
    response =FileResponse(file)
    response['Content-Type']='application/msword'
    response['Content-Disposition']='attachment;filename='+name
    return response

需要注意的是,response[‘Content-Type’]設定為application/msword下載的檔案為doc檔案,如果下載其他格式的檔案,可以參考這裡

moreover,附上一個很有趣的連結http://www.fontawesome.com.cn/faicons/,這裡可以找到各式各樣可愛的小圖示(╹▽╹),把下載文字換成圖示後瞬間拉高了整個網頁的顏值~~