ユーザーが自分の User オブジェクトの属性 (first_name、last_name、および電子メール アドレス) を変更できるビューを作成したいと考えています。Django には、ユーザーを作成するための UserCreationForm が組み込まれています。email、first_name、last_name を含む拡張バージョンを既に持っています。今、パスワードとユーザー名を含めないように拡張しようとしています。
from django.contrib.auth.forms import UserCreationForm
class ExtendedUserCreationForm(UserCreationForm):
class Meta:
model = User
fields = ('username', 'password1', 'password2',
'email', "first_name", 'last_name' )
class UserEditForm(ExtendedUserCreationForm):
class Meta:
model = User
exclude = ('username', 'password1', 'password2')
私が探している UserEditForm は、もちろん新しいインスタンスを作成することはできませんが、既存のインスタンスを編集するためにのみ使用されます。
form = UserEditForm(instance=request.user)
ただし、ユーザー名フィールドとパスワード フィールドは引き続き表示されます。これらを除外するにはどうすればよいですか?