Я добавил несколько полей для пользователя 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