Fanstatic集成于Zope。
项目描述
Zope集成fanstatic
此软件包为fanstatic提供Zope集成。这意味着它负责三件事
在整个请求/响应周期中提供对所需资源的访问。
提供要渲染的资源的基本URL。
在渲染异常视图时清除所需的资源。
此库满足Zope Toolkit/Grok设置的这些条件。
我们将运行一些测试以展示它。请注意,实际要测试的代码不在本文件中,而是在ftesting.zcml中描述的视图中。
我们需要发起一个请求来实现这一点,所以让我们向我们在 ftesting.zcml 中设置的页面发起一个请求,这应该会导致在页面的头部包含单个资源
>>> from zope.testbrowser.wsgi import Browser >>> browser = Browser() >>> browser.open('https://127.0.0.1/zope.fanstatic.test_single') >>> print(browser.contents) <html> <head> <script type="text/javascript" src="https://127.0.0.1/fanstatic/foo/a.js"></script></head> <body> <p>the widget HTML itself</p> </body> </html>
如果某个资源需要另一个资源,这个资源也会自动包含
>>> browser.open('https://127.0.0.1/zope.fanstatic.test_multiple') >>> print(browser.contents) <html> <head> <script type="text/javascript" src="https://127.0.0.1/fanstatic/foo/a.js"></script> <script type="text/javascript" src="https://127.0.0.1/fanstatic/foo/b.js"></script></head> <body> <p>the widget HTML itself</p> </body> </html>
资源在 </body> 标签之前进行底部渲染
>>> browser.open('https://127.0.0.1/zope.fanstatic.test_bottom') >>> print(browser.contents) <html> <head> </head> <body> <p>the widget HTML itself</p> <script type="text/javascript" src="https://127.0.0.1/fanstatic/foo/c.js"></script> <script type="text/javascript" src="https://127.0.0.1/fanstatic/foo/d.js"></script></body> </html>
模板中的资源
zope.fanstatic 为渲染模板中资源提供了支持,以生成资源发布者感知的 URL
>>> browser.open('https://127.0.0.1/zope.fanstatic.test_inline_resource') >>> print(browser.contents) <html> <head> </head> <body> <img src="https://127.0.0.1/fanstatic/foo/evencaveman.jpg" /> <img src="https://127.0.0.1/fanstatic/foo/sub/evencaveman.jpg" /> </body> </html>
异常视图
当视图渲染过程中发生异常时,我们不希望任何为视图准备的需要资源也被注入到错误视图中。需要的资源将被清除,如果异常视图选择这样做,它也可以需要资源。
>>> browser.raiseHttpErrors = False >>> browser.open('https://127.0.0.1/zope.fanstatic.test_error') >>> import fanstatic >>> fanstatic.get_needed().has_resources() False
变更
3.0.0 (2018-01-16)
Python 3 和 Fanstatic 1.0.0 兼容性。
0.12 (2011-08-31)
类似于 0.11 中的修复,确保调用资源的 URL 不会因为 DummyNeededResources 对象而失败,这会严重影响依赖于 fanstatic/zope.fanstatic 的应用程序的函数或“浏览器”测试的可测试性。
0.11 (2011-08-17)
修复了调用 ensure_base_url() 时 DummyNeededResources 对象失败的问题。这在编写依赖于 fanstatic/zope.fanstatic 的应用程序的功能或“浏览器”测试时存在问题。
0.10 (2011-04-11)
更新到 fanstatic 0.11 API。
0.9.1 (2011-01-20)
不要清除 DummyNeededResources 对象的资源。
0.9 (2011-01-20)
集成 zope.errorview,订阅 HandleExceptionEvent。这将清除迄今为止需要的资源,以便错误视图可以渲染一个干净的界面。
0.9b (2011-01-06)
Zope.fanstatic 版本 0.9 是基于 hurry.zoperesource 的基本重写,这是由于 hurry.resource 被重写为 fanstatic 的结果。
以下是自 hurry.zoperesource 0.7 版本以来的一些关键更改列表
遵守 Fanstatic API。
++resource++foo/bar/baz.jpg 表达式在页面模板中仍然通过注册所有可用资源库的可遍历组件来支持。在 zope.fanstatic 中不再涉及 zope.browserresource 组件。
下载
项目详情
zope.fanstatic-3.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 302a659dd48dca9e2e8a4d4e2c8b3b89bb1b8488be050fff6e15459b54282b63 |
|
MD5 | feb8af6e6444ccc6767cf25a42933e23 |
|
BLAKE2b-256 | e1915ad3a69e18c3c594b38f352ea08ca51641ef5ac999922ba2cf05a08a9d8b |