2012-11-07 4 views
1

나는 Advertisement라는 모델을 가지고있다. 이 모델에는 텍스트 필드, 제목 필드 및 파일 필드가 있습니다.django - 모델의 파일을 템플릿으로 렌더링

이 필드 3 개 모두를 모델에 저장하는 데 성공했습니다.

이제 템플릿으로 표시해야합니다. 내 비전은 다음과 같습니다

ads = Advertisement.objects.all() 
return render_to_response('page.html', {'ads':ads},context_instance=RequestContext(request)) 

내 page.html에 :

{% for each_ad in ads %} 
<p>{{each_ad.title}}</p> 
<p>{{each_ad.text}}</p> 
<p><a href="/ads/{{each_ad.file_pdf}}>{{each_ad.file_pdf.name}}</a></p> 
{% endfor %} 

이 바로 보이는가? 그렇지 않다면 나에게 배울 수있는 길을 보여주세요. 감사!

+1

시도 하시겠습니까? HTML 페이지에서 PDF를 렌더링 하시겠습니까? –

+0

예! :디. 나는 단지 pdf를 다운로드 가능하게하고 싶다. 내 코드를 지금 업데이트 할 것입니다. – doniyor

답변

3

PDF 링크 다운로드 여부는 사용자의 브라우저에 따라 다릅니다.

하지만 새 창/탭에서 PDF 파일을 열 target="_blank" 추가 :

<p><a href="/ads/{{each_ad.file_pdf}}" target="_blank">{{each_ad.file_pdf.name}}</a></p> 

모든 환경에서 항상 다운로드가 더 어렵다는 것을 보장하기 위해, 당신은 설정해야 당신의 .htaccess (당신이 있다면 아파치를 사용하는 것 : Force a file or image to download using .htaccess) 또는 Django에서 PDF를 생성 할 때 attachment으로 강제 실행하십시오.

+0

전체 HTML 페이지를 pdf로 렌더링하려고하지 않습니다! 이건 내가 원하는게 아니야. 난 그냥 사용자가 클릭하고 PDF 파일을 다운로드 할 수 있도록 HTML 페이지에 PDF 파일을 렌더링하고 싶습니다. 아무것도 더 – doniyor

+0

감사합니다, pdf를 열거 나 다운로드하는 것은 거의 같기 때문에 여는 것도 좋습니다. 내 비전 코드는 괜찮습니까? – doniyor

+0

보기가 잘된 것 같습니다. – Williams

관련 문제