python 权限
权限
一 建表
最基础的权限表包括三张表:用户表,角色表,权限表。用户表与角色表,角色表与权限表均为多对多关系。

图中app01是建项目时添加的app,rbac是新建项目之后添加的app,增强解耦性,可移到其他项目使用。
表关系:
from django.db import models # Create your models here. class User(models.Model): name = models.CharField(max_length=32,verbose_name="用户名") pwd = models.CharField(max_length=32,verbose_name="密码") roles = models.ManyToManyField(to="Role") def __str__(self): return self.name class Meta: verbose_name = "用户表" db_table = verbose_name verbose_name_plural = verbose_name class Role(models.Model): name = models.CharField(max_length=32, verbose_name="角色") permissions = models.ManyToManyField(to="Permission") def __str__(self): return self.name class Meta: verbose_name = "角色表" db_table = verbose_name verbose_name_plural = verbose_name class Permission(models.Model): title = models.CharField(max_length=32, verbose_name="权限") url = models.CharField(max_length=32, verbose_name="路径") def __str__(self): return self.title class Meta: verbose_name = "权限表" db_table = verbose_name verbose_name_plural = verbose_name
在rbac下的admin添加如下内容:通过访问127.0.0.1/admin,进行数据录入
from django.contrib import admin # Register your models here. from .models import * admin.site.register(User) admin.site.register(Role) admin.site.register(Permission)

浙公网安备 33010602011771号