Я получил этот weasyprint код, который успешно генерирует меня в окне предварительного просмотра PDF:
def generate_new_pdf(self, var_template, var_context, request = None):
html_string = render_to_string(var_template, var_context)
html = HTML(string=html_string, base_url=request.build_absolute_uri())
pdf = html.write_pdf(stylesheets=[CSS(string='@page { size: letter; }')]);
response = HttpResponse(pdf, content_type='application/pdf')
response['Content-Disposition'] = 'inline; filename="Certificado.pdf"'
return response
Дело в том, что мне нужно показать этот предварительный просмотр в небольшом фрейме внутри моего шаблона, но когда я делаю следующее в мои взгляды:
return render(request, self.template_name, { 'body': response })
И попробуйте вызвать его в моем шаблоне:
<div id="mybodytemp" class="box-body">
<object class= "img-responsive col-md-12" style="min-height: 900px" data="{{ body }}" type="application/pdf"></object>
</div>
Я получаю пустой шаблон или, если я пытаюсь:
<div id="mybodytemp" class="box-body">
{{ body }}
</div>
I получить пустую страницу со строкой ответа буквально: HttpResponse status_code = 200, "application / pdf" .... Любая идея о том, что я делаю неправильно или как добиться того, что мне нужно?, спасибо в заранее !!