我是python和pylon的新手,尽管有PHP经验。
我正在尝试编写一个模型类,该模型类将用作对数据库(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:“模块”对象不可调用
也
BlogModel.getTitles()结果
AttributeError:“模块”对象没有属性“ getTitles”
这是否取决于我上课的方式?有人可以告诉我最好的方法吗?
谢谢
最佳答案
x = BlogModel.BlogModel()
或者,更详细地说:
导入后,在名称空间中有一个名为“ BlogModel”的对象。该对象是BlogModel模块。 (模块名称来自文件名。)在该模块内部,有一个名为“ BlogModel”的类对象,该对象就是您想要的。 (类名来自您编写的源代码。)
代替:
from billion.model import BlogModel
您可以使用:
from billion.model.BlogModel import BlogModel
然后你的
x = BlogModel()
会工作。
关于python - 导入模型/库类并从 Controller 调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1268432/