2017-09-07 1 views
0

을 밝혀 : 오류 파일이 내 <code>views.py</code> 파일 비어

from django.http import HttpResponse 

def render(request): 
    response = HttpResponse(content_type='application/pdf') 
    response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"' 
    response['X-Sendfile'] = '/files/filename.pdf' 
    # path relative to views.py 
    return response 

내가 서버를 실행하고

http://localhost:8080/somestring 

내가 somefilename.pdf라는 빈 파일을 가져올 요청

. render에는 중요한 부분이 누락되어있는 것 같습니다.

views.py 외부의이 응용 프로그램의 다른 부분은 제 이해에 정확합니다.

+1

당신이'manage.py runserver'를 사용하고 있습니까 : 여기 – Alasdair

+0

@Alasdair, 네, 서버를 시작하기 위해'python manage.py runserver'를 사용하고 있습니다. – Clone

답변

0

내 문제를 해결하는 코드입니다? `X-Sendfile`을 지원하지 않습니다. 프로덕션 환경에서는 서버 (예 : Apache)에 대해 X-Sendfile을 사용하도록 설정해야합니다.
0

manage.py runserver 개발 서버는 X-Sendfile을 지원하지 않습니다. 프로덕션 환경에서는 서버 (예 : Apache)에 대해 X-Sendfile을 사용하도록 설정해야합니다.

django-sendfile 패키지가 유용 할 수 있습니다. 개발에 사용할 수있는 백엔드가 있습니다. 그러나 어느정도 릴리스가 없었으며 파이썬 3 지원을 받기 위해 pull request 62을 적용해야한다는 것을 알게되었습니다.

from django.http import HttpResponse 
from wsgiref.util import FileWrapper 

def render(request): 
    response = HttpResponse(FileWrapper(open('file.pdf', 'rb')), content_type='application/pdf') 
    response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"' 

    return response 
관련 문제