Je suis novice en python et en pylônes bien qu'expérimentée en PHP. J'essaie d'écrire une classe de modèle qui agira comme un accès à mes données à ma base de données (couchdb). Mon problème est simpleImporter une classe Model/Lib et appeler depuis le contrôleur
Mon modèle ressemble à ceci et est appelé modèles/BlogModel.py
from couchdb import *
class BlogModel:
def getTitles(self):
# code to get titles here
def saveTitle(self):
# code to save title here
Mon contrôleur est appelé contrôleurs/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')
Dans mon action index, comment puis-je accéder à la méthode getTitles() dans BlogModel?
J'ai essayé
x = BlogModel()
x.getTitles()
Mais je reçois TypeError: objet 'module' est pas appelable
également BlogModel.getTitles() résultats dans AttributeError: objet 'module' n'a pas Attribut 'getTitles'
Est-ce que c'est comme ça que j'inclus la classe? Quelqu'un peut-il me dire la meilleure façon de faire cela?
grâce
+1 Bien expliqué – balpha
En python, il est habituel de nommer les modules en minuscules, pour éviter ce genre de confusion: from billion.model.blogmodel import BlogModel –