Django: TypeError: 'username' ist ein ungültiges Schlüsselwort-argument für diese Funktion
Habe ich ein Modell mit dem Namen Mitarbeiterin für die Anmeldung. Wenn ich den code, den ich gehen, die
username' is an invalid keyword argument for this function
Fehler.
employee=Employee(user=user, username= form.cleaned_data['username'], email= form.cleaned_data['email'], password=form.cleaned_data['password'])
dies ist mein view.py code
from django.http import HttpResponseRedirect
from django.contrib.auth.models import User
from django.shortcuts import render_to_response
from django.template import RequestContext
from Employee_Details.forms import RegistationForm
from Employee_Details.models import Employee
def EmployeeRegistation(request):
if request.user.is_authenticated():
return HttpResponseRedirect('/profile/')
if request.method=='POST':
form=RegistationForm(request.POST)
if form.is_valid():
user=User.objects.create_user(username= form.cleaned_data['username'],email= form.cleaned_data['email'],password=form.cleaned_data['password'])
user.save()
employee=Employee(user=user, username= form.cleaned_data['username'],email= form.cleaned_data['email'],password=form.cleaned_data['password'])
employee.save()
return HttpResponseRedirect('/profile/')
else:
return render_to_response('registation.html',{"form":form}, context_instance=RequestContext(request))
else:
'''user is not submitting the form show a blank Registation Form'''
form=RegistationForm();
context={'form':form}
return render_to_response('registation.html',context,context_instance=RequestContext(request))
Dies ist mein Modell:
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
class Employee(models.Model):
user=models.OneToOneField(User)
name=models.CharField(max_length=100)
address=models.CharField(max_length=200)
designation=models.CharField(max_length=100)
email=models.CharField(max_length=100)
role=models.CharField(max_length=10)
#image=models.ImageField()
project=models.CharField(max_length=50)
task=models.CharField(max_length=50)
def __unicode(self):
return self.name
Dies ist mein form.py
from django import forms
from django.contrib.auth.models import User
from django.forms import ModelForm
from Employee_Details.models import Employee
class RegistationForm(ModelForm):
username=forms.CharField(label=(u'User Name'))
email=forms.EmailField(label=(u'Email Address'))
password=forms.CharField(label=(u'Password'))
password1=forms.CharField(label=(u'Verfy Password'))
name=forms.CharField(label=(u'Name'))
address=forms.CharField(label=(u'Address'))
designation=forms.CharField(label=(u'Designation'))
role=forms.CharField(label=(u'Role'))
#image=models.ImageField()
project=forms.CharField(label=(u'Project'))
task=forms.CharField(label=(u'Task'))
class Meta:
model=Employee
exclude=('user',)
def clean_username(self):
username=self.cleaned_data['username']
try:
User.objects.get(username=username)
except User.DoesNotExist:
return username
raise forms.ValidationError('The username is already taken. Please try with another')
def clean(self):
if self.cleaned_data['password'] !=self.cleaned_data['password1']:
raise forms.ValidationError("The Password did not match. Please try again")
return self.cleaned_data
bitte jemand helfen, mir helfen, diese zu lösen Angelegenheit. Ich beziehe mich einige video-tutorials.
Ihre Mitarbeiter Modell bitte
Bitte fügen Sie Ihre Modell-code.
Ich bearbeitete meinen code. bitte verweisen, dass man
Sie haben kein Feld mit dem Namen
Ihre Mitarbeiter Modell hat kein Feld Benutzername ein. Was wollen Sie erreichen? Möchten Sie, registrieren, wenn es auch schaffen Employee-Datensatz?
Bitte fügen Sie Ihre Modell-code.
Ich bearbeitete meinen code. bitte verweisen, dass man
Sie haben kein Feld mit dem Namen
username
.Ihre Mitarbeiter Modell hat kein Feld Benutzername ein. Was wollen Sie erreichen? Möchten Sie, registrieren, wenn es auch schaffen Employee-Datensatz?
InformationsquelleAutor Lahiruzz | 2013-04-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie keine
username
Feld in Ihrem Modell, und es ist überflüssig, denn Sie haben das Feld bereits in derUser
Modell:Wahrscheinlich Django umleiten, denn du bist bereits angemeldet-in. Siehe: docs.djangoproject.com/en/dev/ref/settings/#login-redirect-url
InformationsquelleAutor Mariusz Jamro
versuchen
modelformset_factory
statt!InformationsquelleAutor ProffesorMadhead