{ "info": { "author": "Zope Foundation and Contributors", "author_email": "zope-dev@zope.org", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Zope3", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "Zope integration for fanstatic\n******************************\n\nThis package provides Zope integration for fanstatic. This means it's\ntaking care of three things:\n\n* provide access to the needed resources throughout the request/response cycle.\n\n* provide the base URL for the resources to be rendered.\n\n* clear the needed resources when an exception view is rendered.\n\nThis library fulfills these conditions for a Zope Toolkit/Grok setup.\n\nWe'll run through a few tests to demonstrate it. Note that the real\ncode being tested is not in this document itself, but in the views\ndescribed in ``ftesting.zcml``.\n\nWe need to be in a request to make this work, so let's up a request to\na page we have set up in ``ftesting.zcml`` that should cause the\ninclusion of a single resource in its header::\n\n >>> from zope.testbrowser.wsgi import Browser\n >>> browser = Browser()\n >>> browser.open('http://localhost/zope.fanstatic.test_single')\n >>> print(browser.contents)\n \n
\n \n \nthe widget HTML itself
\n \n \n\nIf a resource happens to need another resource, this resource is also\nautomatically included::\n\n >>> browser.open('http://localhost/zope.fanstatic.test_multiple')\n >>> print(browser.contents)\n \n \n \n \n \nthe widget HTML itself
\n \n \n\nBottom rendering of resources, just before the ``\nthe widget HTML itself
\n \n`` tag::\n\n >>> browser.open('http://localhost/zope.fanstatic.test_bottom')\n >>> print(browser.contents)\n \n
\n \n
\n