且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Django电子邮件更改表单设置

更新时间:2023-11-20 23:32:28

我建议移动val表单清理方法:

I would suggest moving the validation to the form clean method:

#form
class EmailChangeForm():
..
..
 def clean(self):
     if self.cleaned_data.get('email1', None) != self.cleaned_data.get('email1', None):
             raise forms.ValidationError('Validation Failed')


@login_required('/login/') //You can check the user is logged in using the decorator
def email_change(request):
    form = Email_Change_Form()
    if request.method=='POST':
        form = Email_Change_Form(request.POST)
        if form.is_valid():
                    user = request.user //Don't know why you want to get the object from database when you already have it
                    user.email = form.cleaned_data['email1'] 
                    user.save()
                    return HttpResponseRedirect("/accounts/profile/")
    else:
        return render_to_response("email_change.html", {'form':form}, context_instance=RequestContext(request))

更新:
这样做是多余的:

Update: Doing this is redundant:

user = request.user
u = User.objects.get(username=user.username)

由于用户将与u一样,即 user = u

Because user is going to be the same as u i.e. user = u