Джанго дважды экранирует названия в подкастах - PullRequest
0 голосов
/ 10 мая 2011

Я использую Django 1.2, и у меня возникают проблемы при создании хорошего XML для подкаста.Любые заголовки, содержащие одинарные, двойные или амперсанды, выглядят как двойные экранированные, и выглядят так:

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

Это означает, что они отображаются так:

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

Я нашел этот билет , но он был закрыт несколько лет назад.

Я генерирую свой фид, используя этот фрагмент , и я просто вставляю значение вполе модели в бит 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()

В случае, если это помогает, подача подкаста здесь .

1 Ответ

0 голосов
/ 10 мая 2011

Вероятно, это связано с тем, что мне не удалось предоставить метод item_title в моем подклассе Feed.

Как только я добавил:

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

Все было хорошо. Ранее по умолчанию вызывался метод __unicode__ моего элемента с странными результатами. Не совсем удовлетворительное решение (я до сих пор не знаю, почему оно сломалось), но, по крайней мере, оно работает сейчас.

...