zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【原创】C++11:左值和右值(深度分析)
    【基础核心理论】运算符重载
    左值与右值引用 详解
    托盘图标编程
    C/C++ 数组与指针
    webpack 4.0改版问题
    mysql5.7安装记录
    equals方法
    【原创】IO流:读写操作研究(输入流)
    为什么重写equals一定要重写hashCode?
  • 原文地址:https://www.cnblogs.com/fremcode/p/3842212.html
Copyright © 2011-2022 走看看