在Django中更新自定义用户(AbstractUser)

我使用CBV创建了一个自定义用户,并且成功实现了注册视图,但是我发现很难实现更新视图。我已经使用以下代码实现了更新视图:

models.py

class CustomUser(AbstractUser):
   state = models.CharField(choices=States,default ='abia',max_length=50 )
   city = models.CharField(max_length=50)  
   local_government = models.CharField(max_length=50)  
   phone_number = models.CharField(max_length=50,blank= True)  
   picture = models.ImageField(upload_to='user/photos',blank=False,null=False,validators= 
    [clean_image])

forms.py

  class CustomUserCreationForm(UserCreationForm):

    class Meta:
      model = CustomUser
      fields = UserCreationForm.Meta.fields + ('state','city','local_government','phone_number','picture',)

  class CustomUserChangeForm(UserChangeForm):

    class Meta:
       model = CustomUser
       fields = UserCreationForm.Meta.fields + ('state',)

admin.py

 class CustomUserAdmin(UserAdmin):
    add_form = CustomUserCreationForm
    form = CustomUserChangeForm
    model = CustomUser

   list_display = ['id','first_name','last_name','email','subscription_plan','state','picture']

views.py(更新):

 class UpdateUser( LoginRequiredMixin,UpdateView):
   model = CustomUser
   form_class = CustomUserChangeForm
   template_name = 'profile/profile-edit.html'
   login_url = 'login'

当我单击以更新配置文件而不提交更新时,UpdateUser页面将重新加载。任何帮助将不胜感激。

sdafffffffffffffff85 回答:在Django中更新自定义用户(AbstractUser)

由于您要更新用户对象,因此应将pk值发送到模板中的URL标记

本文链接:https://www.f2er.com/2881405.html

大家都在问