【问题标题】:Rendering dynamically generated HTML through pyramid Response通过金字塔 Response 渲染动态生成的 HTML
【发布时间】:2011-11-02 13:46:19
【问题描述】:

我是 python 金字塔框架的新手,请帮助我。

我有一个动态生成的 HTML。这个 HTML 是由一个 python 脚本生成的,该脚本动态地将从一些“xyz.html”[使用 beautifulsoup] 提取的(标签/表)写入另一个“abc.html”。

现在我需要将此 html 页面 ('abc.html') 作为 'pyramid.response' 的 '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 文件的最终存储位置。

提前感谢您的帮助。

【问题讨论】:

  • 最好说明你的两次尝试都没有成功。
  • ValueError:无法将视图返回值“{}”转换为响应对象。这是我一直面临的错误。如果有帮助,我也可以提供完整的回溯。谢谢。

标签: python pyramid python-2.6 python-2.7 python-2.x


【解决方案1】:

我有点惊讶你的第一个例子不起作用。从 Pyramid 文档中查看这个食谱条目,看看是否有帮助。

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

【讨论】:

  • ValueError: 无法将视图返回值“{}”转换为响应对象
  • 这是我面临的错误。而且我还尝试了 Michale 在 michale 的链接中给出的内容,即使这给了我与上述相同的错误。
  • 生成的 html 的存储位置也像这样 'home/user/Pyenv/some_dir/new_dir/abc.html' 其中 'new_dir' 是每次运行时创建的新子目录,而这位置不在我的 python 项目下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-07
  • 1970-01-01
  • 2014-04-26
  • 2015-09-26
  • 2015-11-14
  • 2023-03-11
相关资源
最近更新 更多