#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:
Я немного удивлен, что ваш первый пример не работает. Ознакомьтесь с этой записью в кулинарной книге из документов пирамиды и посмотрите, поможет ли это.
Комментарии:
1. Ошибка значения: не удалось преобразовать возвращаемое значение представления «{}» в объект ответа
2. Это ошибка, с которой я сталкиваюсь. И я также попробовал то, что было указано в ссылке Михале, даже это дало мне ту же ошибку, что и выше.
3. Также место хранения сгенерированного html выглядит следующим образом ‘home/user/Pyenv/some_dir/new_dir/abc.html ‘где ‘new_dir’ — это новый подкаталог, создаваемый при каждом запуске, и это местоположение не входит в мой проект python.