跳转到主要内容

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 (29.2 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面