Genshi:TemplateSyntaxError:<script>标签中的&符号格式不正确(无效的令牌)

4 投票
2 回答
1856 浏览
提问于 2025-04-16 02:19

我正在使用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 个回答

1

在第一个代码片段中,你的 num_items 前面没有 ?,而在第二个片段中有。试着在第一个片段里加上这个符号,然后看看是否能正常工作。

4

在XML中,你需要对&符号进行编码,因为它有特殊的含义。

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

撰写回答