此包允许您在没有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 |