이 글에서는 주로 Django에서 파일을 다운로드하는 세 가지 방법을 자세히 소개하고 있습니다. 편집자가 꽤 좋다고 생각해서 지금 공유하고 참고용으로 올려드리겠습니다. 에디터를 따라가며 함께 살펴볼까요
1. 개요
실제 프로젝트에서는 엑셀, PDF 가져오기, 파일 다운로드 등 다운로드 기능을 사용해야 하는 경우가 종종 있습니다. 직접 구축할 수 있는 웹 서비스 nginx 등 다운로드에 사용할 수 있는 리소스 서버 여기서는 주로 django의 파일 다운로드에 대해 소개합니다.
구현 방법: 태그 + 응답 헤더 정보(물론 양식 구현을 선택할 수 있음)
<p class="col-md-4"><a href="{% url 'download' %}" rel="external nofollow" >点我下载</a></p>
방법 1: HttpResponse
라우팅 URL 사용:
url(r'^download/',views.download,name="download"),
views. 파이 코드
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
사용
rreee 사용 요약
django 공식 홈페이지에는 3가지 http response 객체가 소개되어 있습니다. 입구: https://docs.djangoproject.com/en/1.11/ref/request-response/
입니다. FileResponse를 사용하는 것이 좋습니다. FileResponse는 데이터 스트리밍을 위해 내부적으로 반복자를 사용하는 StreamingHttpResponse의 하위 클래스라는 것을 소스 코드에서 볼 수 있습니다.
위 내용은 Django_python에서 파일을 다운로드하는 세 가지 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!