Рендеринг динамически сгенерированного HTML через ответ пирамиды

#python #pyramid #python-2.6 #python-2.7 #python-2.x

#python #пирамида #python-2.6 #python-2.7 #python-2.x

Вопрос:

Я новичок в pyramid Framework 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. Ошибка значения: не удалось преобразовать возвращаемое значение представления «{}» в объект ответа. Это ошибка, с которой я столкнулся. Я также могу предоставить полную обратную трассировку, если это поможет. Спасибо.

Ответ №1:

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

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

Комментарии:

1. Ошибка значения: не удалось преобразовать возвращаемое значение представления «{}» в объект ответа

2. Это ошибка, с которой я сталкиваюсь. И я также попробовал то, что было указано в ссылке Михале, даже это дало мне ту же ошибку, что и выше.

3. Также место хранения сгенерированного html выглядит следующим образом ‘home/user/Pyenv/some_dir/new_dir/abc.html ‘где ‘new_dir’ — это новый подкаталог, создаваемый при каждом запуске, и это местоположение не входит в мой проект python.