这不是最好的方法!
数据库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
2.4.4.3、Django用user表last_name字段做权限控制
时间: 2024-11-07 01:20:19