python - 将参数传递给 Zope 浏览器页面

标签 python parameter-passing zope

在我的 Zope 实例中,我有一个 Python 脚本注册为浏览器页面。我有以下代码作为其注册表:

<browser:page name="test" for="*" permission="zope2.Public" class="browser.test.PyTest" attribute="CallPy" />

该函数“PyTest.CallPy”定义为:

def CallPy(self, data): ...

然后我使用 JavaScript 调用该函数,传递数据:

$.ajax({ url: "@@test", data: ({data: "mydata"}), dataType: "text", success: ..., error: ... });

但是,当我进行此调用时,我收到一条错误消息,提示“CallPy() 仅需要 2 个参数(给定 1 个参数)”。

如何将此函数注册为在调用时传递此数据的页面?

最佳答案

您的方法遗漏了很多细节。它是一个类的方法吗?还是独立的?通常,self 会引用 PyTest 类的实例 - 它是 BrowserView 的子类。

然后,从 Request 对象中检索您传递给 View (@@test) 的数据,该对象可在 self.request 中找到strong> (具体来说,在本例中为 self.request.form.data)(因此,您无需为该方法指定“data”参数)。

嗯。我认为您不希望在以下字典中使用括号:data: ({data: "mydata"})

关于python - 将参数传递给 Zope 浏览器页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6253541/

相关文章:

c# - 有人可以解释一下 C# 中的 "passing by value"和 "Passing by reference"是什么意思吗?

python - 为什么我的代码在 windows 上运行良好,但在 ubuntu 上却不行

python - numpy sum 没有给出 float32 类型的正确答案

java - 这些页面包括带参数的编写函数

java - Spring security拦截url将模式参数传递给访问方法

sqlalchemy - 无法从命令行导入 ZopeTransactionExtension

plone - 除非正在删除父级,否则防止删除 Plone 中的文件夹(类型)

python - 不一致的页面在 Internet Explorer 中显示过期消息

python - CSV 文件到行列表?

python - 将 Pandas 系列导出为 JSON - numpy 类型错误