Проблема с созданием MVC-дизайна с помощью Cherrypy/MySQL. Вот настройки: (предполагается, что все импорт правильны)cherrypy mvc with mysql issue
##controller.py
class User(object):
def __init__(self):
self.model = model.User()
@cherrypy.expose
def index(self):
return 'some HTML to display user home'
## model.py
class Model(object):
_db = None
def __init__(self):
self._db = cherrypy.thread_data.db
class User(Model):
def getuser(self, email):
#get the user with _db and return result
##service.py
class UserService(object):
def __init__(self):
self._model = model.User()
def GET(self, email):
return self._model.getuser(email)
##starting the server
user = controller.User()
user.service = service.UserService()
cherrypy.tree.mount(user, '/user', self.config)
#app.merge(self.config)
cherrypy.engine.subscribe("start_thread", self._onThreadStart)
self._onThreadStart(-1)
def _onThreadStart(self, threadIndex):
cherrypy.thread_data.db = mysql.connect(**self.config["database"])
if __name__ == '__main__':
cherrypy.engine.start()
cherrypy.engine.block()
приведенный выше код имеет ошибку в model.py на линии: cherrypy.thread_data.db. я получил:
AttributeError: '_ThreadData' object has no attribute 'db'
не знаю, почему, не могли бы вы мне точку в правильном направлении? Я могу получить соединение и вывести информацию с контроллера.py в индекс User, но не в model.py? Пожалуйста, помогите .. спасибо.
это работает для меня, спасибо за помощь. – triston