簡體   English   中英

在 Django 中更新自定義用戶 (AbstractUser)

[英]Updating custom user (AbstractUser) in Django

我使用 CBV 創建了一個自定義用戶,並且我已經成功地實現了注冊視圖,但是我發現很難實現更新視圖。 我已經使用以下代碼實現了更新視圖:

模型.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])

表格.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', 'city', 'local_government', 'phone_number', 
       'picture',)

管理文件

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

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

views.py(更新):

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

當我點擊更新配置文件而不提交更新時,UpdateUser 頁面會重新加載。 任何幫助將不勝感激。

由於您正在更新用戶對象,因此您應該將 pk 值發送到模板中的 URL 標記

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM