Рендеринг динамически сгенерированного HTML через пирамиду Response - PullRequest
2 голосов
/ 02 ноября 2011

Я новичок в фреймворке Python, поэтому, пожалуйста, помогите мне.

У меня динамически генерируется HTML. Этот HTML-код генерируется скриптом Python, который динамически записывает (теги / таблицы), которые извлекаются из некоторого файла «xyz.html» [используя beautifulsoup], в другой файл «abc.html».

Теперь мне нужно отправить эту html-страницу ('abc.html') обратно как объект 'Response' из 'pyramid.response'.

как я могу это сделать. Я попробовал следующее

    _resp = Response()
    _resp.headerlist =  [('Content-type',"text/html; charset=UTF-8'"\]
    _resp.app_iter = open('abc.html','r')
    return _resp

, а также

   with open('abc.html','r') as f:
      data = f.read()
      f.close()
   return Response(data,content_type='text/html')

оба не работали.

PS: я не могу использовать renderer = "package: subpack / abc.html" или любой другой подобный рендерер, так как этот сгенерированный html каждый раз хранится в динамически сгенерированном месте, поэтому я не могу угадать окончательное место хранения этого html-файла.

Заранее спасибо за помощь.

1 Ответ

2 голосов
/ 02 ноября 2011

Я немного удивлен, что ваш первый пример не работает.Посмотрите на эту запись в кулинарной книге из документации по Пирамиде и посмотрите, поможет ли это.

http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/static_assets/files.html#serving-file-content-dynamically

...