Django自带的Admin后台中如何获取当前登录用户

在Django的Admin后台中,可以通过 request.user来获取当前登录的用户对象。下面是获取当前登录用户的方法:

  1. 在你的Admin后台的自定义视图或方法中,首先导入 from django.contrib.auth.decorators import login_requiredfrom django.contrib.admin.views.decorators import staff_member_required,这些装饰器用于确保只有登录的用户和管理员可以访问相关视图。
  2. 在你的视图或方法中,使用装饰器修饰函数。例如,使用 @login_required装饰器可以确保只有登录的用户才能访问该视图。
  3. 在函数中,你可以通过 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获取当前登录用户的用户名,并将其传递到模板中进行显示或其他操作。

相关推荐
fen_fen16 小时前
Oracle建表语句示例
数据库·oracle
砚边数影18 小时前
数据可视化入门:Matplotlib 基础语法与折线图绘制
数据库·信息可视化·matplotlib·数据可视化·kingbase·数据库平替用金仓·金仓数据库
orange_tt18 小时前
Djiango配置Celery
数据库·sqlite
云小逸19 小时前
【nmap源码学习】 Nmap网络扫描工具深度解析:从基础参数到核心扫描逻辑
网络·数据库·学习
肉包_51119 小时前
两个数据库互锁,用全局变量互锁会偶发软件卡死
开发语言·数据库·c++
霖霖总总19 小时前
[小技巧64]深入解析 MySQL InnoDB 的 Checkpoint 机制:原理、类型与调优
数据库·mysql
此刻你20 小时前
常用的 SQL 语句
数据库·sql·oracle
それども20 小时前
分库分表的事务问题 - 怎么实现事务
java·数据库·mysql
·云扬·21 小时前
MySQL Binlog 配置指南与核心作用解析
数据库·mysql·adb
天空属于哈夫克321 小时前
Java 版:利用外部群 API 实现自动“技术开课”倒计时提醒
数据库·python·mysql