Джанго-поршон: Как заставить эмиттер возвращать загружаемый файл? - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть следующий эмиттер:

class iCalEmitter(Emitter):
    def render(self, request):
        data = self.construct()
        cal = Calendar()

        cal.add('prodid', 'iCalendar Feed')
        cal.add('version', '2.0')
        for event in data:
            if event.get('start'):
                event['start_time'] = event['start']
            if event.get('end'):
                event['end_time'] = event['end']

            ical_event = calEvent()
            ical_event.add('summary', event['title'])
            ical_event.add('dtstart', event['start_time'])
            ical_event.add('dtend', event['end_time']
                                    if event.get('end_time')
                                    else event['start_time'])
            ical_event['uid'] = event['id']
            cal.add_component(ical_event)

        return cal.as_string()

Я бы хотел изменить ответ так, чтобы он возвращал загружаемый файл с определенным именем файла.Как бы я поступил так?Документация Джанго-поршня в этой области кажется очень слабой.

1 Ответ

0 голосов
/ 30 ноября 2011

Изменение заголовков ответов через эмиттер - задача не из легких, поэтому я выбрал другой маршрут.Я добавил шаблон URL в свое приложение, чтобы он соответствовал /events/calendar.ics, и передал параметр emitter_format через шаблон URL.Ужасно, но это работает.

...