#django #itunes #podcast #django-syndication
#django #iTunes #подкаст #django-синдикация
Вопрос:
Я использую Django 1.2, и у меня возникли проблемы с генерацией хорошего XML для подкаста. Любые заголовки, содержащие одинарные кавычки, двойные кавычки или амперсанды, выглядят с двойным экранированием следующим образом:
<title>Podcast: amp;amp;quot;But we had hoped...amp;amp;quot;</title>
Это означает, что они отображаются следующим образом:
Podcast: amp;quot;But we had hopedamp;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:
Похоже, это произошло из-за того, что мне не удалось предоставить item_title
метод в моем Feed
подклассе.
Как только я добавил:
def item_title(self, item):
return item.title
Все было хорошо. Ранее по умолчанию вызывался __unicode__
метод моего элемента со странными результатами. Не совсем удовлетворительное решение (я до сих пор не знаю, почему оно сломалось), но, по крайней мере, оно работает сейчас.