此包允许您在没有zodb的情况下运行grok。
项目描述
此包的主要目的是提供支持,使Grok应用程序可以作为不使用zodb的WSGI应用程序运行。
使用megrok.nozodb
要设置一个没有zodb的工作grok环境,您必须替换位于debug.ini和deploy.ini中的paster-application-factory:具体来说,将grokcore.startup#…替换为megrok.nozodb#nozodb
[app:grok] use = egg:megrok.nozodb#nozodb
接下来,您需要设置一个全局实用工具,它充当ApplicationRoot,这是您应用程序的起点。megrok.nozodb有一个未加工的默认值。您可以从中派生或提供自己的东西,它充当ApplicationRoot。
>>> from megrok.nozodb import ApplicationRoot >>> class MyApplicationRoot(ApplicationRoot): ... pass >>> myapp = MyApplicationRoot() >>> from zope.site.interfaces import IRootFolder >>> IRootFolder.providedBy(myapp) True >>> from grok.interfaces import IApplication >>> IApplication.providedBy(myapp) True >>> from zope.location import ILocation >>> ILocation.providedBy(myapp) True >>> from zope.interface.verify import verifyObject >>> from zope.component.interfaces import ISite >>> verifyObject(ISite, myapp) True
API文档
我们需要创建一个简单的站点定义文件,它也很简单
>>> import os, tempfile
>>> temp_dir = tempfile.mkdtemp()
>>> sitezcml = os.path.join(temp_dir, 'site.zcml')
>>> open(sitezcml, 'w').write('<configure />')
>>> zope_conf = os.path.join(temp_dir, 'zope.conf')
>>> open(zope_conf, 'wb').write('''
... site-definition %s
...
... <zodb>
... </zodb>
...
... <eventlog>
... <logfile>
... path STDOUT
... </logfile>
... </eventlog>
... ''' %sitezcml)
>>> from megrok.nozodb import nozodb_factory
>>> app_factory = nozodb_factory({'zope_conf': zope_conf})
Clean up the temp_dir
>>> import shutil
>>> shutil.rmtree(temp_dir)
变更日志
0.1 (2010-11-04)
首次发布
项目详情
关闭
megrok.nozodb-0.1.tar.gz的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 1e81f69cf4b1ba17f34ddbcf772cb72ad7267adbc2d41c06115b069014894ab1 |
|
| MD5 | 6b9e7f62b10c0d121ac6dcd8973494cb |
|
| BLAKE2b-256 | 860588d5e4eb037c6574ae556dd05e7fced7656e95ea668b0a3ff07da73c7da2 |