панель администратора defaced Расширение модели пользователя с помощью пользовательских полей в Django - PullRequest
0 голосов
/ 24 октября 2018

Я добавил несколько полей для пользователя django, чтобы я мог определять уровни разрешений для пользователей.Выбрав каждый уровень в панели администратора, вы можете получить доступ к определенной части веб-сайта.
, но когда я захожу на панель пользователя в шаблоне администратора, он работает нормально, но не работает.
вот мои коды:
models.py:

class CustomUser(AbstractUser):
    is_level_one = models.BooleanField(default=False)
    is_level_two = models.BooleanField(default=False)
    is_level_three = models.BooleanField(default=False)

admin.py (простая версия)

admin.site.register(CustomUser)

и это искаженное представление администратора здесь:

первое изображение / admin / basic_app / user
второе изображение / admin / basic_app / user

вы видите, что вот эти проблемы:
1. Пользовательское окно разрешений пропало, и вы не можете назначать разрешения для пользователей
2.Последний вход в систему и дата объединения разделены
3.Group Boxпочти отсутствует
4.password поле заполнено хешированным паролем

*, но 3 уровня доступа, которые я определил, все еще там (вы можете увидеть в нижней части страницы какфлажки и на самом деле работает нормально) *

и вот мои коды украшения, если кто-то должен использовать:

def level_one_required(function=None, redirect_field_name=REDIRECT_FIELD_NAME, refused='basic_app:index'):
    actual_decorator = user_passes_test(
        lambda u: u.is_active and u.is_level_one,
        login_url=refused,
        redirect_field_name=redirect_field_name
)
    if function:
        return actual_decorator(function)
    return actual_decorator
...