。ドキュメントにexample hereがあります。
ユーザーデータを作成(および変更)するためのフォームを作成し、UserAdmin
を上書きする必要があります。ユーザーを作成するためのフォームは次のようになります。
class UserCreationForm(forms.ModelForm):
password1 = forms.CharField(label='Password', widget=forms.PasswordInput)
password2 = forms.CharField(label='Password confirmation', widget=forms.PasswordInput)
class Meta:
model = User
fields = '__all__'
def clean_password2(self):
password1 = self.cleaned_data.get("password1")
password2 = self.cleaned_data.get("password2")
if password1 and password2 and password1 != password2:
raise forms.ValidationError("Passwords don't match")
return password2
def save(self, commit=True):
user = super().save(commit=False)
user.set_password(self.cleaned_data["password1"])
if commit:
user.save()
return user
あなたがしてUserAdmin
を上書き:
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
class UserAdmin(BaseUserAdmin):
add_form = UserCreationForm
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('email', 'first_name', 'last_name', 'is_bot_flag', 'password1', 'password2')}
),
)
、その後、あなたが登録:
admin.site.register(User, UserAdmin)
私はかなりコピー/ドキュメントからこれを貼り付け、いくつかを削除しましたコードを短くするドキュメントに移動して、ユーザーデータを変更するためのサンプルコードを含む完全な例を参照してください。
djangoのバージョン – aashu
を指定してください。 'python manage.py makemigrations' ' python manage.py migrate' –
@aashu django 2.0、そして、私はpython manage.py makemigrationsを行いました。その後、移行しました – SadFrodo