如何在docutils html模板中包含%符号

时间:2009-08-07 22:25:12

标签: python

我想使用自己的模板生成带有rst2html的HTML页面。这些模板包含许多%符号,例如

<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">

现在,当我使用命令

调用rst2html时
rst2html --template=layout2.tpl rst/index.rst > index.html

我收到错误

  

ValueError:索引827

时不支持的格式字符'“'(0x22)

我发现问题是rst2html认为%“是占位符。

我已经尝试转义模板中的%,例如

<TABLE border="0" cellpadding="0" cellspacing="0" width="100\%">

但这不起作用,错误是一样的。

所以我的问题是如何解决这个问题。非常感谢任何帮助!

2 个答案:

答案 0 :(得分:7)

您是否尝试过明显的事情:使用'%'转义'%'?

以下是在结果中显示百分号的正常字符串格式:

>>> print "%d%%" % 100
100%

也许rst2html是一样的? (我没有在rst2html中尝试过这个 - 我没有安装它。)

好的,现在我已经安装了docutils。这对我有用:

layout2.tpl:

<TABLE border="0" cellpadding="0" cellspacing="0" width="100%%">

命令行:

C:\Python26\Lib\site-packages>python C:\Python26\Lib\site-packages\docutils-0.5-
py2.6.egg\EGG-INFO\scripts\rst2html.py --template=c:\temp\layout2.tpl
^Z
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">

所以结果是所希望的,我相信。

答案 1 :(得分:0)

怀疑它,但也许XML命令CDATA可以工作。

<![CDATA[
...
]]>

我用它来存储XML文档中的paypal按钮并用PHP插入它们。