Python-Fehler: __init__() dauert mindestens 3 Argumente (3)

also ich arbeite an einem Profil speichern-Funktion und ich bin mir nicht sicher, warum bin ich immer die folgende Fehlermeldung:

__init__() takes at least 3 arguments (3 given)

Dies ist die Funktion, es passiert in (rechts, nachdem es trifft die 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')

Python-Fehler: __init__() dauert mindestens 3 Argumente (3)

Die erweiterte Konsole:

Python-Fehler: __init__() dauert mindestens 3 Argumente (3)

Ich habe ein Projekt weite suchen init und dies scheint die einzige Funktion, die Spiele

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)

Irgendwelche Gedanken? Zusätzliche Informationen, die Sie benötigen, zu sehen?

  • Dies nicht beheben Ihr Problem, aber beachten Sie, dass jedes Objekt, das erstellt wird, in Ihrem Programm fordert __init__ - es ist die Methode zum initialisieren einer (änderbaren) Objekt.
  • Der volle stack-trace wäre hilfreich. Wenn Sie um die Ausnahme zu fangen, anstatt nur lassen Sie es propagieren, die Sie verwenden können sys.exc_info()[2] um die traceback.
InformationsquelleAutor Leon Gaban | 2013-08-01
Schreibe einen Kommentar