Я создал список 5 пользователей. Как я узнаю, какой пользователь в настоящее время входил в систему? Также упомяните, если существует какой-либо способ узнать, вошел ли суперпользователь в систему?
Мое требование, я хочу ограничить доступ определенных страниц в шаблонах только суперпользователю.
Текущий пользователь находится в объекте запроса:
def my_view(request):
current_user = request.user
Это класс django.contrib.auth.models.User и у него есть несколько полей, например
http://docs.djangoproject.com/en/1.1/topics/auth/#django.contrib.auth.models.User
Итак, чтобы проверить, является ли текущий пользователь суперпользователем, вы можете:
if user.is_active and user.is_superuser:
...
Вы можете используйте его в шаблоне или передайте в шаблон как переменную через контекст.
Проверьте декоратор user_passes_test для ваших представлений. У фрагментов Django есть связанный декоратор:
Эти декораторы основаны на user_passes_test и permission_required, но когда пользователь входит в систему и не проходит тест, он {{1 }} отобразит ошибку 403 вместо перенаправления для входа в систему - только анонимным пользователям будет предложено войти в систему.
Звучит так, как будто для этого вы должны использовать встроенную систему разрешений .