gpt4 book ai didi

python - 如何确定 PloneFormGen 中可用的属性和方法

转载 作者:行者123 更新时间:2023-12-01 08:12:02 25 4
gpt4 key购买 nike

如何确定 PloneFormGen 中对象的方法和属性?我想为自定义字段适配器编写一些脚本,并想知道有哪些可用的脚本。我直接的问题来 self 复制的一些在线代码: Python script to hide ploneformgen form after user has filled it out. (For Plone-4.3.2-64.)

alreadyInDB = False
savedData = ploneformgen.savefield.getSavedFormInputForEdit()
username = request.AUTHENTICATED_USER.getId()
return {'username': 'No way man!'}
usersInDB = [x.split(',')[1] for x in savedData.split('\r\n') if len(x)>0]

if username in usersInDB:
alreadyInDB = True

if alreadyInDB:
return {'username': 'No way man!'}

这是我收到的错误消息。

属性错误:保存字段

我想做的是看看属性和方法有什么可用,然后修复这个问题或编写我自己的。如有任何帮助,我们将不胜感激。

这就是我们使用的:PloneFormGen 1.7.12产品.PFGExtendedMailAdapter 2.4

Plone 人4.3.3 (4308)CMF 2.2.7佐普 2.13.22Python 2.7.5(默认,2018 年 10 月 30 日,23:45:53)[GCC 4.8.5 20150623(Red Hat 4.8.5-36)]PIL 2.0.0(枕头)

最佳答案

PloneFormGen 使用受限制的 Python 来编写 TTW 脚本。您可以在对象上使用 dir() 或 vars() 来了解它们提供的内容。要看到这一点,您可能想要打印它们。

TTW 脚本不太适合内省(introspection)。也许看一下相关代码或使用 Debug模式获取表单并使用真正的调试器以与上面相同的方法查看发生了什么。

./bin/实例调试然后您将拥有数据库的根对象“app”。

获取表单可以像这样简单:

myform = app.unrestrictedTraverse('Plone/my-form')

获取所有表单字段对象(子对象):

myform.objectItems()

获取特定字段(包括数据保存适配器对象):

myform.objectIds()
myform['adapter-id']

祝你好运;)

关于python - 如何确定 PloneFormGen 中可用的属性和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55184928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com