问题标签 [zope3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
plone - 如何在 Plone 或 Zope 中进行“模型”计算
这是一个非常基本的设计问题,但我似乎找不到答案。我将使用一个非常简单的示例,但我关心的是模型级计算(本示例中的“2+2”)变得复杂的情况。
假设我正在设计一个在 Zope 或 Plone 中运行的应用程序;它的工作是添加两个数字。Dexterity 让我可以轻松地创建包含字段 addend1 和 addend2 的内容类型,并将为我生成添加、编辑和显示表单。我可以修改显示表单以显示一个名为“sum”的字段,但“sum”是我的模型中大量计算的结果,我不想在“add”或“edit”表单中显示它,因为我不需要它作为输入,只是作为计算的结果。我不想在我的视图中计算它,因为它很昂贵,我想在最初计算后重用它,而且我不希望我的“视图”需要任何关于我如何进行计算的知识。
那么,什么是正确的“zca”方法来进行与结果呈现无关的模型工作呢?我是否创建一个类似 ISum 的接口并创建一个适配器,将我的内容类型转换为包含总和的内容类型,然后为 ISum 接口做一个视图?如果不是,那是什么?搜索 PP4D 和 Zope 3 开发人员手册并没有帮助。
提前感谢您的任何见解。
python - 接口(obj)和getAdapter(obj,接口)之间的Zope组件差异
什么可能导致 Interface(obj) 返回 obj,而 getAdapter(obj, Interface) 返回一个经过适当调整的对象?
deadlock - 主模式下 uWSGI 上的 ZEO 死锁
再会!
我正在迁移到 uWSGI 部署。该项目一半在 ZOPE3 上,并使用 ZODB 和 ZEO 进行多路访问。如果我像这样启动 uwsgi 守护进程:
一切运行正常。这是单进程模式。没有块或锁。当我像这样启动应用程序时:
一切都运行。这是预分叉模式。我们有很好的结果。但是有些请求会阻塞。我怀疑应用程序在新实例启动时会阻止 1 个请求。我有 2-3 个锁定请求。所有其他工作都很好。
但是当我这样开始时:
应用程序启动,但未处理任何请求。当我 curl localhost:9090/some_page 它永远不会加载任何东西。没有 CPU 没有磁盘使用。它只是锁定。
有人知道任何可能导致这种情况的特定 ZEO 行为吗?如果我只运行 FileStorage,它会正常运行而不会出现任何死锁。有关 uWSGI 行为的主模式的任何细节也将不胜感激。
zope - 如何通过 url 从 ZODB 获取对象?
如何通过 url ' http://ecample.com/folder1/object1 ' 从 Zope3 项目中的 ZODB 数据库获取对象?
有没有任何方法的工具呢?像 absoluteUrl() 但相反?或者我必须解析 url 并从 db root 手动获取对象?...谢谢
python - zope.component 订户适配器适应多个对象的问题
给定以下代码:
它产生的输出是:
为什么返回 AB 的实例?AB 只声明它适应 A 和 B。有没有一种方法可以实现只返回 AC 的行为?
zope - 需要帮助理解 View、Viewlet、ViewletManager 和 Page
我知道这肯定是一个幼稚的问题,但我无法通过阅读分散的(有时是过时的文档)找出答案,所以我有点困惑。所有这些视图层组件的概念意义是什么,它们之间有什么区别?我什么时候应该使用哪个?
如果有人能对此有所了解,我将不胜感激。TIA,
plone - 从特定视图的对象菜单中删除“添加新...”
从特定视图的对象菜单中删除“添加新...”菜单项的最简单方法是什么(在视图中使用代码)?
我以前使用过 IConstrainTypes,但它似乎有点奇怪,因为它存储了请求之间的约束。
plone - 获取 Zope 3 浏览器层的界面,只知道它的名称
将 Plone 皮肤界面注册如下:
让接口 ( my.app.browser.interfaces.IThemeSpecific
) 知道名称 (" My Theme Name
") 的最简单方法是什么?
permissions - 通过知道它的 id 来知道 Zope 权限标题的方法是什么(反之亦然)?
在 Zope 和 Plone 上,您可以像这样注册权限:
当您知道权限的 id 时,从 Python 获取权限标题的方法是什么?
我的意思是:
plone - zope.publisher.browser.BrowserView 可以在 Plone 中使用吗?
鉴于这Products.Five
是使 Zope 组件架构 (ZCA) 在 Plone 中可用的集成层:
- 是否可以在 Plone 中使用 zope.publisher.browser 或者我必须使用 Products.Five.browser 来导入 BrowserView?
前者产生回溯:
2015-06-04 14:47:02 ERROR Zope.SiteErrorLog 1433443622.720.549321919726 http://localhost:8080/Plone/@@hello
Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module zope.publisher.browser, line 968, in __call__
NotImplementedError: Subclasses should override __call__ to provide a response body
而后者“正常工作”