2.4.4.3、Django用user表last_name字段做权限控制

本文详细介绍了如何在 Django 框架中通过 User 表的 last_name 字段作为权限控制手段,并在 HTML 模板中根据用户姓氏显示不同导航菜单,实现了基于用户角色的个性化用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这不是最好的方法!

数据库User表中因为是系统初始化的表,如果添加额外的字段需要修改django源文件,不利于移植,为避免带来其他问题,可以使用last_name字段做为权限控制,当然也可以用profile方法为user表添加新字段(对于user表示一对一关系,但不是在User表中),session在用户登录之后会一直存储user的信息,所以用user表中的字段在html中引用实现更简单一点(group可以在视图里使用)

如下图:

 

http://10.1.1.145:8000/admin/auth/user/ 里如下图:

 

在一个模板leftmenu.html中,可以根据姓氏(last_name)字段来控制显示什么菜单,用不同类型的账号登陆就会显示不同的导航菜单,如下代码:

<ul>
     <li><a href="{% url "logout_view" %}">注销,重新登录</a></li>
     <li><a href="{% url "test" %}">测试一下</a></li>
     {% if user.last_name == '1' %}
     <li><a href="http://www.baidu.com">leve1</a></li>
     <li><a href="www.baidu.com">用户类型1</a></li>
     {% endif %}
     {% if user.last_name == '2' %}
     <li><a href="http://www.baidu.com">leve2</a></li>
     <li><a href="www.baidu.com">用户类型2</a></li>
     {% endif %}
     {% if not user.is_superuser %}
     <li><a href="http://www.baidu.com">普通用户</a>
 <ul>
     <li><a href="http://www.baidu.com">普通用户测试</a></li>
</ul>

 

最后附上整理好的word版本百度网盘下载地址:http://pan.baidu.com/s/1mgkegYW

转载于:https://www.cnblogs.com/fremcode/p/3842212.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值