虽然我在PHP方面经验丰富,但我是python和pylons的新手。
我正在尝试编写一个模型类,它将充当我对数据库(couchdb)的数据访问。我的问题很简单
我的模型看起来像这样,名为models / BlogModel.py
from couchdb import *
class BlogModel:
def getTitles(self):
# code to get titles here
def saveTitle(self):
# code to save title here
我的控制器名为controllers / main.py
import logging
from pylons import request, response, session, tmpl_context as c
from pylons.controllers.util import abort, redirect_to
from billion.lib.base import BaseController, render
log = logging.getLogger(__name__)
from billion.model import BlogModel
class MainController(BaseController):
def index(self):
return render('/main.mako')
在我的索引操作中,如何访问BlogModel中的方法getTitles()?
我试过
x = BlogModel()
x.getTitles()
但我明白了 TypeError:'module'对象不可调用
另外 BlogModel.getTitles()导致 AttributeError:'module'对象没有属性'getTitles'
这是否包括我上课的方式?有人可以告诉我最好的方法吗?
感谢
答案 0 :(得分:2)
x = BlogModel.BlogModel()
或者,更详细地说:
导入后,名称空间中有一个名为“BlogModel”的对象。该对象是BlogModel模块。 (模块名称来自文件名。)在该模块中,有一个名为'BlogModel'的类对象,这就是你所追求的。 (类名来自您编写的源代码。)
而不是:
from billion.model import BlogModel
您可以使用:
from billion.model.BlogModel import BlogModel
然后你的
x = BlogModel()
会起作用。