2017-10-24 1 views
0

dies AnsichtenTypeerror: save() 1 erforderlich Positions Argument fehlt: 'Selbst'

class RegisterView(View): 
def get(self,request): 
    register_form = RegisterForm() 
    return render(request,'register.html',{'register_form':register_form}) 
def post(self,request): 
    register_form = RegisterForm(request.POST) 
    if register_form.is_valid(): 
     user_name = request.POST.get("email", '') 
     pass_word = request.POST.get("password", '') 
     user_profile = UserProfile 
     user_profile.username = user_name 
     user_profile.email = user_name 
     user_profile.password = make_password(pass_word) 
     user_profile.save() #error 
     send_register_email(user_name,"register") 

ich user_profile zu mysql speichern möchten, aber user_profile.save() einen Fehler aufweist, Typeerror: sparen() fehlt 1 benötigt positional Argument: 'selbst', Wie soll ich es lösen?

+2

Könnten Sie versuchen 'user_profile = Userprofile()' statt instanziiert von 'user_profile = UserProfile' und überprüfen Sie seine Ausgabe. – aquaman

+1

Nicht verwandt, aber ein Formular zu verwenden, um Benutzereingaben zu bereinigen und die bereinigten Daten nicht zu verwenden, erfordert Ärger. Verwenden Sie die '.cleaned_data' Ihres Formulars, um die E-Mail und das Passwort zu erhalten, anstatt sie von' request.POST' zu erhalten. Oder benutzen Sie stattdessen eine 'ModelForm' ... –

Antwort

6

Sie haben kein Objekt von UserProfile, anstatt Sie zuweisen UserProfile zu user_profile

user_profile = UserProfile

sollte

user_profile = UserProfile()

+0

Danke, es ist mein Versehen – kerberos

Verwandte Themen