我正在运行Django网站,并编写一份报告,使用Pisa和cStringIO将带有视图代码的模板呈现为内联PDF文件。这一切都很好,工作得很好。我在render_to_response()
的HTML中看到的内容很好地以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
有没有办法让一些有序列表显示字母?