一级菜单
1.model设计
![]()
from django.db import models
class Permission(models.Model):
url = models.CharField(max_length=64, verbose_name='权限')
title = models.CharField(max_length=32, verbose_name='标题') # 备注这个url是做什么的
icon = models.CharField(max_length=64, null=True, blank=True,verbose_name='图标') # 存放菜单前面的图标
is_menu = models.BooleanField(default=False) # 用来判断(此url)是否是菜单
def __str__(self):
return self.title
class Meta:
verbose_name_plural = '权限管理'
class Role(models.Model):
name = models.CharField(max_length=32, verbose_name='角色')
permissions = models.ManyToManyField(Permission, verbose_name='角色拥有的权限', blank=True)
def __str__(self):
return self.name
class Meta:
verbose_name_plural = '角色管理'
class User(models.Model):
username = models.CharField(max_length=32, verbose_name='用户名',unique=True)
password = models.CharField(max_length=32, verbose_name='密码')
roles = models.ManyToManyField(Role, verbose_name='用户的角色', blank=True)
def __str__(self):
return self.username
class Meta:
verbose_name_plural = '用户管理'
models.py