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

这不是最好的方法!

数据库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

posted @ 2014-07-14 10:38  土豆王  阅读(583)  评论(0编辑  收藏  举报