1、视图 views.py

三种方式实现,任选其一

(1)使用HttpResponse

# 导入模块
from
django.shortcuts import HttpResponse def download(request):   file = open('crm/models.py', 'rb')   response = HttpResponse(file)   response['Content-Type'] = 'application/octet-stream' #设置头信息,告诉浏览器这是个文件   response['Content-Disposition'] = 'attachment;filename="models.py"'   return response

(2)使用StreamingHttpResponse

from django.http import StreamingHttpResponse
def download(request):
  file
=open('crm/models.py','rb')   response =StreamingHttpResponse(file)   response['Content-Type']='application/octet-stream'   response['Content-Disposition']='attachment;filename="models.py"'   return response

(3)使用FileResponse

from django.http import FileResponse
def download(request):
    file=open('crm/models.py','rb')
    response =FileResponse(file)
    response['Content-Type']='application/octet-stream'
    response['Content-Disposition']='attachment;filename="models.py"'
    return response

2、添加路由 urls.py

配置一个下载的路径

url(r'^download/',views.download,name="download"),

3、模板 templates 的修改

配置一个 a 标签,跳转地址配置要跳转的下载路径(对应的视图)

<div class="col-md-4"><a href="{% url 'download' %}" rel="external nofollow" >点我下载</a></div>
12-25 06:14
查看更多