我有Django 1.7.1和Python 2.7.8
我想从渲染的html模板中获取PDF,我尝试过PISA(xhtml2pdf),但首先,我在Bootstrap css上遇到了很多问题,然后,在删除了一些行后,出现了这条消息:
'CSSTerminalFunction' object has no attribute 'lower'
'lower'似乎是python 3的一部分而在2.7中不可用(如果我错了,请告诉我)
现在我正在尝试使用wkhtmltopdf,但the documentation太基本了。它仅描述了一个使用静态HTML的简单示例
有人可以解释我如何使用我的实际模板获取PDF文件吗?
这是模板的一部分
{% extends 'reporteBase.html' %}
{% block titulo %}Reporte - Inventario por Ubicación{% endblock %}
{% block content %}
{% if productos %}
<h2>Inventario de la ubicación "{{ ubi }}"</h2>
<div class="row" style="margin-top: 2em">
<table class="table table-condensed" data-resizable-columns-id="demo-table">
<thead>
<tr>
<th data-resizable-column-id="mod">Modelo/Item</th>
<th data-resizable-column-id="desc">Descripcion</th>
<th data-resizable-column-id="cant" data-noresize>Cantidad</th>
<th data-resizable-column-id="unidad" data-noresize>Unidad</th>
<th data-resizable-column-id="ubi" data-noresize>Ubicacion</th>
</tr>
</thead>
<tbody>
{% for p in productos %}
<tr>
<td>{{ p.producto__item}}</td>
<td>{{ p.producto__descripcion }}</td>
<td>{{ p.sum_cantidad }}</td>
<td>{{ p.producto__unidad }}</td>
<td>{{ p.ubicacion__nombre }}</td>
</tr>
{% empty %}
<tr><td colspan=4>No hay Productos</td></tr>
{% endfor %}
</tbody>
</table>
</div>
{% endif %}
{% endblock %}
谢谢!
答案 0 :(得分:0)
视图需要将模板呈现为PDF。这就是django-wkhtmltopdf Simple Example的代码所做的。
首先尝试将网页呈现为HTML,以确保模板正常运行。您可以使用以下视图执行此操作:
url(r'^html_preview/$',
TemplateView.as_view(template_name='pdf_template.html'))
在您解决了模板的任何问题后,请使用PDFTemplateView
进行尝试。