django-simpleui的使用
1.安装这个模块 pip install django-simpleui
2.在app中注册:
INSTALLED_APPS = [
'simpleui',
# 注册
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config',
'rest_framework'
]
-
在admin文件中注册数据表
from django.contrib import admin # Register your models here. from .models import UserInfo, Books, Publish import base64 from rest_framework.request import Request # admin.site.register(UserInfo) admin.site.register(Publish) @admin.register(UserInfo) class UserInfoAdmin(admin.ModelAdmin): list_display = ('id', 'username', 'user_type', 'last_time') # # 增加自定义按钮 actions = ['make_copy', 'reset_passwords'] def reset_passwords(self,request, obj): # 按钮触发的功能 obj = obj.first() password = '666666' password = obj.username[0] + password + 'nb666' # 密码加盐处理 obj.password = base64.standard_b64encode(password.encode()) obj.save() reset_passwords.short_description = '重置密码' # 重命名刚刚添加的按钮 # 注册图书表 并控制显示的表字段 @admin.register(Books) class BooksAdmin(admin.ModelAdmin): list_display = ('name', 'price', 'author', 'publish_id')
4.如何更改左侧导航栏
django的settings文件中 SIMPLEUI_CONFIG = { 'system_keep': False, 'menu_display': ['用户管理', '图书管理系统'], # 开启排序和过滤功能, 不填此字段为默认排序和全部显示, 空列表[] 为全部不显示. 'dynamic': True, # 设置是否开启动态菜单, 默认为False. 如果开启, 则会在每次用户登陆时动态展示菜单内容 'menus': [{ 'name': '用户管理', # 设置左侧菜单栏 'app': 'app01', 'icon': 'fas fa-user-shield', 'url': 'app01/userinfo/' # 设置菜单栏触发的功能 # 浏览器新标签中打开 }, { 'name': '图书管理系统', 'app': 'app01', 'icon': 'fas fa-user-shield', 'models': [{ # 在图书管理系统菜单中设置2级菜单 'name': '图书', 'icon': 'fa fa-user', 'url': 'app01/books/' }, { 'name': '出版社', 'icon': 'fa fa-user', 'url': 'app01/publish/' # 设置菜单功能对应的路径 }] }, ] } 可以增加除咱们app外的其它url---》如果是外部链接,直接写地址,如果是内部链接,跟之前前后端混合项目一样的写法:咱们的案例---》show 的路由