Изменение пароля пользователя сайта администратора Django

На сайте администратора Django раньше была форма для изменения пароля пользователя, который не был зарегистрированным пользователем. Вы смотрели на страницу обновления пользователя, и рядом с полем пароля была ссылка изменить пароль. Вы нажимаете на нее, и вас перебрасывает на другую страницу для изменения пароля. Я использовал эту страницу, чтобы изменить пароль пользователя без необходимости открывать админку. В Django 4, похоже, она теперь отсутствует. На самом деле, я не могу понять, как можно изменить пароль пользователя, кроме его собственного, без написания собственного представления.

У меня 2 вопроса:

  1. Есть ли сейчас на сайте администратора способ изменить пароль другого пользователя?
  2. Если это представление исчезло, то какой сейчас лучший способ для суперпользователя иметь представление, которое может изменить пароль для пользователя?

Вы уверены, что проверили все правильно? Когда вы выбираете пользователя, он появляется по умолчанию в верхней части, сразу после некоторых полузакрытых параметров пароля.

enter image description here

Проблема была, когда я использовал AbstractBaseUser, и при регистрации администратора сайта я использовал admin.ModelAdmin вместо UserAdmin.

from django.contrib.auth import get_user_model
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin


class EmployeeAdmin(UserAdmin):
    ordering = ['email', ]
    list_display = ['email', ]
    fieldsets = (
        (None, {'fields': ('email', 'password')}),
        ('Info', {'fields': ('first_name', 'last_name', 'phone',)}),
        ('Address', {'fields': ('address', 'city', 'state', 'zip_code')}),
        ('Schedule', {'fields': ('time_off',)}),
        ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser',
                                    'groups', 'user_permissions')}),
        ('Important dates', {'fields': ('last_login', 'date_joined')}),
    )
    add_fieldsets = (
        ("User Details", {'fields': ('email', 'password1', 'password2')}),
        ("Permission", {'fields': ('is_active', 'is_staff', 'is_admin')}),
    )


admin.site.register(get_user_model(), EmployeeAdmin)
Вернуться на верх