我有一個文件的結構是這樣的: 產品導入類和使用方法蟒蛇
-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