[英]Find out the currently logged in user in Django
我創建了一個包含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,但是當用戶登錄並且測試失敗時,它將呈現403錯誤而不是重定向到登錄 - 只有匿名用戶才會被要求登錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.