0

编辑:我无法加载图片,但这里有一个链接: https: //plus.google.com/113782760013016224132/posts/3kcamT13yNP

使用 Django。这是我的第一个问题。我不断收到错误消息:Profile() 有一个意外的关键字参数“名称”。我真的不明白为什么我会收到这个错误。它昨天还在工作,现在一切都很奇怪。帮助将不胜感激。

我的 forms.py 是:

class RegistrationForm(ModelForm):
username    = forms.CharField(label=(u'User Name'))
email       = forms.EmailField(label=(u'Email Address'))
password    = forms.CharField(label=(u'Password'), widget=forms.PasswordInput(render_value=False))
verifyPass  = forms.CharField(label=(u'Verify Password'), widget=forms.PasswordInput(render_value=False))

class Meta:
    model = Profile
    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("That username is already taken, please select another username.")

def clean(self):
    password = self.cleaned_data.get('password', None)
    verifyPass = self.cleaned_data.get('verifyPass', None)

    if password != verifyPass:
        #self.cleaned_data['password'] != self.cleaned_data['verifyPass']:
        raise forms.ValidationError("Please try again, the passwords did not match.")
    return self.cleaned_data

视图.py:

def UserRegistration(request):
if request.user.is_authenticated():
    return HttpResponseRedirect('/profile')
if request.method == 'POST':
    form = RegistrationForm(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()
        users = Profile(user=user, name=form.cleaned_data['name'], date_of_birth=form.cleaned_data['date_of_birth'])
        users.save()
        return HttpResponseRedirect('/profile/')
    else:
        return render_to_response('register.html', {'form': form}, context_instance=RequestContext(request))
else:
    ''' user is not submitting the form, show them a blank registration form '''
    form = RegistrationForm()
    context = {'form': form}
    return render_to_response('register.html', context, context_instance=RequestContext(request))

def LoginRequest(request):
if request.user.is_authenticated():
    return HttpResponseRedirect('/profile/')
if request.method == 'POST':
    form = LoginUserForm(request.POST)
    if form.is_valid():
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        users = authenticate(username = username, password = password)
        if users is not None:
            login(request, users)
            return HttpResponseRedirect('/profile/')
        else:
            return render_to_response('login.html', {'form' : form}, context_instance = RequestContext(request))
    else:
        return render_to_response('login.html', {'form' : form}, context_instance = RequestContext(request))
else:
    ''' user is not submitting the form, show the login form '''
    form = LoginUserForm()
    context = {'form': form}
    return render_to_response('login.html', context, context_instance=RequestContext(request))

def LogoutRequest(request):
logout(request)
return HttpResponseRedirect('/')

def Profile(request):
render_to_response('profile.html')

def home(request):
return render_to_response("home.html")

 class LoginUserForm(forms.Form):
username    = forms.CharField(label=(u'User Name'))
password    = forms.CharField(label=(u'Password'),    widget=forms.PasswordInput(render_value=False))

模型.py:

class Profile(models.Model):
user            = models.OneToOneField(User)
date_of_birth   = models.DateField()
name            = models.CharField(max_length=100)

def __str__(self):
    return self.name
4

0 回答 0