我有一个文件的结构是这样的: 产品导入类和使用方法蟒蛇
-product
- content
- MyContent.py
- Tool.py
在Tool.py,我有
from AccessControl import ClassSecurityInfo
from OFS.SimpleItem import SimpleItem
from Products.CMFCore.utils import UniqueObject
class Tool(PropertyManager, UniqueObject, SimpleItem):
@staticmethod
security.declarePublic('convert_to_lower')
def convert_to_lower(data):
return data.lower()
在MyContent.py,我访问工具这种方法,所以我做了:所以我做了:
from Product.Tool import Tool
from Product.Content.ATContentTypes.content.base import ATCTContent
class MyContent(BaseContent):
def new_definition(self):
print Tool.convert_to_lower("ABCD")
我似乎无法找到我在这里做错了。我实例为myContent与对象:
mycontent = MyContent()
mycontent.new_definition()
但是,当我运行它,它给了我错误说,该方法convert_to_lower没有定义。 注意:convert_to_lower()只是我想要做的一个简单示例。
@staticclass是我的错误,在我自己的情况下,我把它作为@staticmethod! – 2012-08-13 08:37:09
我不明白为什么我们需要创建2个接口,我应该在哪里存储这个文件的接口。从客户端提取它时,我只需要ILanguagePreference,那么为什么需要创建另一个名为ILanguage的接口,并且我还注意到这个ILanguage被用作第二个接口的模式。你能向我解释吗?我能否只使用称为ILanguagePreference的单一接口,如果我这样做,我应该在模式中放置什么? – 2012-08-13 12:17:54