Django實現檔案從伺服器下載到本地
阿新 • • 發佈:2018-12-16
首先在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/,這裡可以找到各式各樣可愛的小圖示(╹▽╹),把下載文字換成圖示後瞬間拉高了整個網頁的顏值~~