内容简介:models中创建类:五个类,七张表角色表和权限表是多对多的关系(一个角色可以有多个权限,一个权限可以对应多个角色);用户表和角色表是多对多的关系(一个用户可以有多个角色,一个角色有多个用户);
一、设计表结构
models中创建类:五个类,七张表
- 角色表:
- 用户表:
- 权限表:
- 权限组表:
- 菜单表:
角色表和权限表是多对多的关系(一个角色可以有多个权限,一个权限可以对应多个角色);
用户表和角色表是多对多的关系(一个用户可以有多个角色,一个角色有多个用户);
所以有会多生成两张关系表;
一个菜单下面有多个组;
一个组下面有多个菜单;
一个菜单下面有多个权限;
###################权限部分 class UserInfo(models.Model): ##用户表 name = models.CharField(max_length=16, blank=True, null=True, verbose_name="用户名") password = models.CharField(max_length=128, blank=True, null=True, verbose_name="密码") email = models.CharField(max_length=32, verbose_name="邮箱") userPosition = models.ForeignKey(to="Position", blank=True, null=True, verbose_name="职位", related_name="userposi") # 用户和职位是一对多的关系 def __str__(self): return self.name class Meta: verbose_name_plural = "用户表" class Position(models.Model): ##职位表 name = models.CharField(max_length=16, blank=True, null=True, verbose_name="职位名") auth = models.ManyToManyField(to='Auth', blank=True, null=True, verbose_name="权限", related_name="posauth") def __str__(self): return self.name class Meta: verbose_name_plural = "职位表" class Auth(models.Model): ##权限表 name = models.CharField(max_length=64, blank=True, null=True, verbose_name="显示路径名") url = models.CharField(max_length=64, blank=True, null=True, verbose_name="路径") groupauth = models.ForeignKey(to='AuthGroup', blank=True, null=True, verbose_name="组权限", related_name="authgroup") #组和权限是一对多的关系,一个组有多个权限 def __str__(self): return self.name class Meta: verbose_name_plural = "权限表" class AuthGroup(models.Model): ##权限组表 name = models.CharField(max_length=16, blank=True, null=True, verbose_name="权限组名") menu = models.ForeignKey(to='Menu', blank=True, null=True, verbose_name="菜单", related_name='groupmenu') #一个组下有多个菜单 def __str__(self): return self.name class Meta: verbose_name_plural = "权限组表" class Menu(models.Model): ##菜单表 name = models.CharField(max_length=16, blank=True, null=True, verbose_name="菜单名") def __str__(self): return self.name class Meta: verbose_name_plural = "菜单表"
1.1、创建表:
python manage.py makemigrations python manage.py migrate
1.2、注册表:
from django.contrib import admin from host import models admin.site.register(models.UserInfo) admin.site.register(models.Position) admin.site.register(models.Auth) admin.site.register(models.AuthGroup) admin.site.register(models.Menu)
二、登录后台:
2.1、设计路径:
urls:[ "user/list.html", "user/add.html"/, "user/(\d+)/update.html", "user/(\d+)/del.html", ]
2.2、 对应的urls.py
urlpatterns = [ url(r'user/list.html$', views.List.as_view()), url(r'user/add.html$', views.Add.as_view()), url(r'user/(\d+)/update.html', views.Update.as_view()), ##(\d+) 用来匹配不同表单的id url(r'user/(\d+)/del.html', views.Del.as_view()), ]
2.3、对应的权限表:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Django框架–权限代码+左侧菜单和权限应用
- Spring-Security权限管理框架(1)——根据角色权限登录
- 三大渗透框架权限维持
- ABP开发框架前后端开发系列---(9)ABP框架的权限控制管理
- 基于注解的6.0权限动态请求框架——JPermission
- YuebonCore 1.0.1 发布,权限管理及快速开发框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Adobe Dreamweaver CS5中文版经典教程
Adobe公司 / 陈宗斌 / 人民邮电 / 2011-1 / 45.00元
《Adobe Dreamweaver CS5中文版经典教程》由Adobe公司的专家编写,是AdobeDreamweavelCS5软件的官方指定培训教材。全书共分为17课,每一课先介绍重要的知识点,然后借助具体的示例进行讲解,步骤详细、重点明确,手把手教你如何进行实际操作。全书是一个有机的整体,它涵盖了Dreamweavercs5的基础知识、HTML基础、CSS基础、创建页面布局、使用层叠样式表、使......一起来看看 《Adobe Dreamweaver CS5中文版经典教程》 这本书的介绍吧!