Я пытаюсь создать pdf-файл с использованием reportlabs, и я столкнулся с ошибкой The view APP.VIEW didn't return an HttpResponse object.
.Django reportlabs не возвращал объект HttpResponse
Функция и просмотр пробега без каких-либо исключений, даже строка return HttpResponse(result.getvalue(), mimetype='application/pdf')
. Но я все время получаю ошибку.
Ниже мой код:
def render_to_pdf(template_src, context_dict):
"""Function to render html template into a pdf file"""
template = get_template(template_src)
context = Context(context_dict)
html = template.render(context)
result = StringIO.StringIO()
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result)
if not pdf.err:
return HttpResponse(result.getvalue(), mimetype='application/pdf')
return HttpResponse('We had some errors<pre>%s</pre>' % escape(html))
Вид:
def invoice_pdf(request, inv_no):
try:
inv = BC_Invoice.objects.select_related().get(invoice_no=inv_no)
render_to_pdf('bc_invoice_pdf.html', {'pagesize': 'A4',
'inv': inv}
)
except Exception, e:
pass
HttpResponse(None)
Извините, но я не совсем понимаю, можете ли вы привести пример того, как я могу это исправить? Я думал, что 'return HttpResponse()' в вызове функции уже вернул его? –
Возвращает его к вызывающему виду, да. Но что с ним происходит? –
ничего себе я идиот ... спасибо ... –