内容简介: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、对应的权限表:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
创意,未来的工作方式
方军 / 中信出版社 / 2016-11-20 / 58.00元
知识工作者已成过去,创意工作者才是未来 工作的本质是创意 纵观我们身处的世界,除了自然美景,世间或伟大或平凡的事物,几乎都是人观念革新的产物,它们多数是我们在工作过程中群体创意的产物。 从工业时代到知识时代,大多数人通过掌握新知、持续学习,获得社会的认可和回报;但进入以大数据、人工智能、机器人为标志的新时代,单纯的学习已经不能满足社会对人的要求。算法和机器人正在取代人类很多重复性......一起来看看 《创意,未来的工作方式》 这本书的介绍吧!