Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 25, 2010 10:00:24

s_vilgelm
От:
Зарегистрирован: 2010-10-25
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вернуть content_type="text/csv", но с именем файла?

В общем есть код:

    @expose(content_type="text/csv")
def get_context_csv(self, start_month, start_year, tariff_id, start_hour, start_day, start_minute):
outputstream=StringIO.StringIO()
writer=csv.writer(outputstream)
...
return outputstream.getvalue()
При вызове открывается диалог сохранение файла, по умолчанию имя файла get_context_csv, как его можно задать?



Офлайн

#2 Окт. 25, 2010 11:01:58

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Как вернуть content_type="text/csv", но с именем файла?

from tg import request, response
from tg.controllers import CUSTOM_CONTENT_TYPE

class MyController(BaseController):
@expose(content_type=CUSTOM_CONTENT_TYPE)
def stats(self):
response.content_type = 'text/csv'
response.headerlist.append(('Content-Disposition','attachment;filename=stats.csv'))
return '1,2,3'



Офлайн

#3 Окт. 25, 2010 11:16:36

s_vilgelm
От:
Зарегистрирован: 2010-10-25
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вернуть content_type="text/csv", но с именем файла?

О, спасибо большое.



Офлайн

#4 Окт. 25, 2010 12:26:52

s_vilgelm
От:
Зарегистрирован: 2010-10-25
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вернуть content_type="text/csv", но с именем файла?

Для версии 1.0 решение такое:

from cherrypy import request, response

class MyController(BaseController):
@expose(content_type='text/csv')
def stats(self):
response.headers['Content-Disposition'] = 'attachment;filename=stats.csv'
return '1,2,3'



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version