0
Je rencontre des difficultés pour créer une fonction globale accessible depuis toutes les classes. Je reçois une erreur depuis user.py qui indique:Fonction globale dans __init__.py non accessible avec Pylons + Python
NameError: global name 'connectCentral' is not defined
Voici mon code actuel.
projet/modèle/__ __.py initialisation:
"""The application's model objects"""
import sqlalchemy as sa
from sqlalchemy import orm
from sqlalchemy import engine_from_config
from pylons import config
import central
#Establish an on-demand connection to the central database
def connectCentral():
engine = engine_from_config(config, 'sqlalchemy.central.')
central.engine = engine
central.Session.configure(bind=engine)
projet/modèle/user.py
import project.model
class User(object):
def emailExists(self):
try:
connectCentral()
emails = central.Session.query(User).filter_by(email=self.email).count()
if (emails > 0):
return False
else:
return True
except NameError:
self.errors['email'] = 'E-Mail not set'
return False
Suis-je manque une importation? Y a-t-il une meilleure manière de faire cela?
Merci.
Quand je fais cela, je reçois: NameError: nom 'projet' est non défini – ensnare
Bizarre, le fichier 'import project.model' que vous avez au début devrait le définir. Essayez 'import project.model comme prom' à la place, puis utilisez' prom.connectCentral() '- que dit-il alors? –
Bizarre ... de project.model import * fonctionne mais importe project.model comme proj rendements AttributeError: l'objet 'module' n'a pas d'attribut 'model' – ensnare