donc je travaille sur une fonction de sauvegarde profil et je ne sais pas pourquoi je reçois l'erreur suivante:erreur Python: __init __() prend au moins 3 arguments (3) donné
__init__() takes at least 3 arguments (3 given)
C'est la fonction qu'il arrive à (juste après la frappe self.profiles.update line
):
@view_config(route_name="profile", request_method='POST')
def save_profile(self):
try:
json = self.request.json_body
#username = str(json['userName'])
first_name = str(json['firstName'])
last_name = str(json['lastName'])
phones = str(json['phones'])
emails = str(json['emails'])
self.profiles.update(self, firstName=first_name, lastName=last_name, emails=emails, phones=phones)
value = {'result:': 'success', 'message': 'Profile Saved!'}
self.respond(value)
return self.route('profile')
except Exception, err:
print err
value = {'result:': 'error', 'message': 'There was an error processing the request'}
self.respond(value)
return self.route('profile')
La console étendue:
J'ai fait un projet de recherche pour large à init et cela semble être la seule fonction qui correspond
class WhoView(Extension):
def __init__(self, context, request):
self.session = request.session
self.request = request
self.status_code = 200
self.content_type = "text/html"
ctx = self.session.ctx
self.request_context = context
Extension.__init__(self, ctx)
def attach_session(self, token):
self.ctx.attach_session(token)
Toute pensée? Des informations supplémentaires que vous devez voir?
Cela ne résout pas votre problème, mais notez que chaque objet qui est créé dans votre programme appelle '__init__' - C'est la méthode utilisée pour initialiser un objet (mutable). – llb
La trace de pile complète serait très utile. Si vous devez attraper l'exception au lieu de simplement la laisser se propager, vous pouvez utiliser 'sys.exc_info() [2]' pour obtenir la traceback. – user2357112