Genshi:TemplateSyntaxError:在<script>标记</script>中带有&符号的格式不正确(无效标记)

时间:2010-08-04 17:48:45

标签: python pylons genshi

我正在使用Pylons / Genshi,并尝试使用Disqus javascript小部件在我的网站上显示“所有最近的评论”(在网站上安装了Disqus,我可以发表评论确定)。

但是,下面的代码会产生令人讨厌的500错误:

TemplateSyntaxError:格式不正确(令牌无效):第25行,第121列(第25行是<script>行)。

  <div py:def="content">
   <div id="recentcomments" class="dsq-widget">
    <h2 class="dsq-widget-title">Recent Comments</h2>
    <script type="text/javascript"
    src="http://disqus.com/forums/wdmmg/recent_comments_widget.js 
    num_items=5&hide_avatars=0&avatar_size=32&excerpt_length=200"></script>
   </div>
  </div>

奇怪的是,我认为它可能与GET请求中的&符号有关,因为使用

    <script type="text/javascript"
    src="http://disqus.com/forums/wdmmg/recent_comments_widget.js
    ?num_items=5"></script> 

在同一行中工作正常。 Genshi不喜欢&符号,还是其他的东西?

2 个答案:

答案 0 :(得分:3)

在XML中,您应该编码&符号,因为它们具有特殊含义。

在网址中使用它们的正确方法是recent_comments_widget.js?num_items=5&amp;hide_avatars=0&amp;avatar_size=32&amp;excerpt_length=200

答案 1 :(得分:1)

在第一个代码段中,?之前没有num_items,而在第二个代码段中则没有{{1}}。尝试将其添加到第一个并检查它是否有效。