这个包允许您在没有zodb的情况下运行grok

megrok.nozodb的Python项目详细描述


此软件包的主要目的是为 使grok应用程序能够作为aster服务的wsgi运行 不使用zodb的应用程序。

使用megrok.nozodb

要设置一个没有zodb的grok环境 必须更换通常是 位于debug.ini和deploy.ini中:具体地说 将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)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何启用TLSv1。3在Tomcat8.5.5中使用JSSE实现   java表单post在jsp中,contentType头没有字符集,为什么?   java My Basic货币转换器程序输出错误   java在Eclipse4中单击最后一个部件(选项卡)时动态创建部件   java 2 servlet,一个在响应中获得ContentLength,另一个则没有   JavaStruts2:如何发送url参数?   linux从java运行bash文件   java TransactionRequiredException执行更新/删除查询   java如何使用JTA插入到表中?   从枚举到泛型的类型的java映射   java使用接口类<T>作为键来获取具体的实例值?