Django在播客中双重逃脱游戏

时间:2011-05-09 22:55:02

标签: django itunes podcast django-syndication

我正在使用Django 1.2,并且无法为播客生成良好的XML。任何包含单引号,双引号或&符号的标题似乎都是双重转义,如下所示:

<title>Podcast: &amp;quot;But we had hoped...&amp;quot;</title>

这意味着它们会显示如下:

Podcast: &quot;But we had hoped&quot;

我确实找到this ticket,但很久以前就关闭了。

我正在使用this snippet生成我的Feed,而我只是将模型字段中的值填入self.title位,如下所示:

class iTunesPodcastPost():
  def __init__(self, talk):
    self.id = talk.id
    self.approval_date_time = talk.created
    self.title = talk.title # Looks wonky
    self.summary = talk.details # Looks fine
    self.enclosure_url = talk.mp3.url
    self.enclosure_length = talk.mp3.size
    self.enclosure_mime_type = u'audio/mpeg'
    self.duration = '%s' % talk.seconds
    self.explicit = u'clean'
    self.info_url = talk.get_absolute_url()

如果有帮助,播客Feed为here

1 个答案:

答案 0 :(得分:0)

这似乎是因为我未能在item_title子类上提供Feed方法。

我加入后:

def item_title(self, item):
   return item.title

一切都很好。以前一直默认调用我的项目的__unicode__方法有奇怪的结果。不是一个完全令人满意的解决方案(我仍然不知道它为什么会破坏),但至少它现在有效。