我正在运行一个 Django 网站并编写一个报告,该报告使用 Pisa 和 cStringIO 将带有视图代码的模板呈现为内联 PDF 文件。这一切都很好,而且工作得很好。我在 HTML 中看到的内容render_to_response()
很好地以 PDF 格式显示。现在,我有一系列 HTML<ol></ol>
列表。我希望外部列表为数字(<ol type="1">
),内部列表为字母(<ol type="A">
)。我已经尝试使用标签的内联type
属性<ol>
以及list-style-type: upper-alpha
,但都没有使用 OL 的字母呈现 PDF。相反,它们始终是数字。
这是我的render_to_pdf
方法:
def render_to_pdf(template_src, context_dict, extra_html=None):
template = get_template(template_src)
context = Context(context_dict)
html = template.render(context)
result = StringIO.StringIO()
if extra_html:
html += extra_html
pdf = pisa.pisaDocument(
StringIO.StringIO(html.encode("UTF-8")),
dest=result,
encoding='UTF-8',
link_callback=fetch_resources
)
if not pdf.err:
return HttpResponse(result.getvalue(), mimetype='application/pdf')
return HttpResponse('We had some errors<pre>%s</pre>' % escape(html))
这是我的模板:
<ol type="1">
<li>1</li>
<li>2</li>
<li>
3
<ol type="A">
<li>A</li>
<li>B</li>
<li>C</li>
</ol>
</li>
<li>4</li>
</ol>
其中render_to_response
显示:
1. 1
2. 2
3. 3
A. A
B. B
C. C
4. 4
其中render_to_pdf
显示:
1. 1
2. 2
3. 3
1. A
2. B
3. C
4. 4
有没有办法让一些有序列表显示字母?