在Django的Admin后台中,可以通过 request.user
来获取当前登录的用户对象。下面是获取当前登录用户的方法:
- 在你的Admin后台的自定义视图或方法中,首先导入
from django.contrib.auth.decorators import login_required
和from django.contrib.admin.views.decorators import staff_member_required
,这些装饰器用于确保只有登录的用户和管理员可以访问相关视图。 - 在你的视图或方法中,使用装饰器修饰函数。例如,使用
@login_required
装饰器可以确保只有登录的用户才能访问该视图。 - 在函数中,你可以通过
request.user
来获取当前登录的用户对象。例如,可以使用request.user.username
来获取当前登录用户的用户名。
下面是一个示例代码,演示了如何在Django的Admin后台中获取当前登录用户:
from django.contrib.auth.decorators import login_required
from django.contrib.admin.views.decorators import staff_member_required
from django.contrib import admin
from django.shortcuts import render
@admin.site.admin_view
@staff_member_required
def my_custom_view(request):
# 确保只有管理员才能访问该视图
# 并且只有登录的用户才能访问该视图
# 获取当前登录用户的用户名
username = request.user.username
# 其他自定义逻辑...
return render(request, 'admin/my_custom_view.html', {'username': username})
在上面的代码中,@staff_member_required
装饰器确保只有管理员可以访问 my_custom_view
视图,而 @login_required
装饰器确保只有登录的用户可以访问该视图。然后,可以使用 request.user.username
获取当前登录用户的用户名,并将其传递到模板中进行显示或其他操作。
请注意,上述示例中的装饰器可以根据你的需求进行调整,以确保适合你的具体场景。