如何在docutils HTML模板中包含%符号
我想用rst2html生成HTML页面,并且想用我自己的模板。这些模板里有很多百分号,比如在
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
现在,当我用这个命令调用rst2html时
rst2html --template=layout2.tpl rst/index.rst > index.html
我遇到了一个错误
ValueError: unsupported format character '"' (0x22) at index 827
我发现问题在于rst2html把%"当成了一个占位符。
我已经尝试在模板中对%进行转义,比如
<TABLE border="0" cellpadding="0" cellspacing="0" width="100\%">
但这样做没有用,错误还是一样。
所以我想知道怎么解决这个问题。任何帮助都非常感谢!
2 个回答
0
我对此有点怀疑,不过也许XML命令CDATA可以用。
<![CDATA[
...
]]>
我用它来在XML文档中存储PayPal按钮,然后用PHP把它们插入进去。
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%">
所以结果应该是你想要的,我相信。