Джанго дважды экранирует заголовки в подкастах
Я использую Django 1.2, и у меня возникают проблемы при создании хорошего XML для подкаста. Любые заголовки, содержащие одинарные кавычки, двойные кавычки или амперсанды, выглядят как двойные экранированные, выглядя так:
<title>Podcast: &quot;But we had hoped...&quot;</title>
Что означает, что они появляются так:
Podcast: "But we had hoped"
Я нашел этот билет, но он был закрыт много лет назад.
Я создаю свой фид, используя этот фрагмент, и просто вставляю значение в поле модели в 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__
метод с причудливыми результатами. Не совсем удовлетворительное решение (я до сих пор не знаю, почему оно сломалось), но, по крайней мере, оно работает сейчас.