Django现代化的后台管理UI界面-simpleui高效使用(附源码)

文摘   科技   2024-05-27 19:49   广东  

ISEE小语


“任何消耗你的人和事,多看一眼都是你的不对。”——《屏蔽力》




    前期分享的Django框架使用,默认后台管理界面太过于单一,我们基于原Admin找到了django-simpleui,本次记录分享。

    simpleui是一个为Django项目提供的现代化UI主题。它旨在替换 Django 默认的管理后台界面,提供一个更现代、更美观且功能更强大的用户界面,从而提升用户的管理体验。

    simpleui使用起来非常的方便,并且具有以下优点:

    • 内置28款流行的主题
    • pip闪电安装100%兼容原生admin无需修改代码
    • 多标签页面,各个模块更加清晰明了
    • 配置简单,极速上手,在settings.py中加入simpleui后启动立即生效,效率提升 100%!让后端开发得心应手
    • 现代化设计:Element-UI + Vue 加持,让古老的django admin 焕然一新。


官网地址:

https://gitee.com/tompeppa/simpleui



小栈环境:

Pycharm 2023.1

Python 3.9.16



三方包安装:

pip install django-simpleui





前 提

    使用django-simpleui的前提,是一个Django项目,这里就不再详述,有需要的朋友,可以看前期的分享。

一篇文章学会Django-从无到有

Isee小栈,公众号:ISEE小栈一篇文章学会Django-从无到有

    本次我们基于前期分享的【djangoProject】项目,使用simpleui做后台管理,将默认的admin后台管理替换掉。


开始使用

我们现在将自己项目的settings.py文件找到,并在其中INSTALLED_APPS的第一行加入simpleui

INSTALLED_APPS = [    "simpleui",    "django.contrib.admin",    "django.contrib.auth",    "django.contrib.contenttypes",    "django.contrib.sessions",    "django.contrib.messages",    "django.contrib.staticfiles",    "myapp",]

(左右滑动查看完整代码)

添加完成后,我们启动项目,在浏览器中打开

http://127.0.0.1:8000/admin/login/

看一下效果:

这个登录页面已经变化为simpleui的效果了

接下来我们登录到主页看一下里面展示

用户名和密码,在上次创建项目的时候已经新建好了,这里我们直接使用即可。那我们在登录页面输入:

用户名:admin

密码为:q12345678

登录到主页:

切换主题:

用户管理:

书籍管理:


常用配置

添加simpleui后,在默认的simpleui上面再次配置,让后台管理页面显示的更加美观舒服。

注:以下配置均在settings.py文件中

一、设置默认语言

在settings.py文件中,替换为zh-hans,即为界面汉化

zh-hans是中国大陆地区使用的简体中文的语言代码

LANGUAGE_CODE = 'zh-hans'


、设置时区

Asia/Shanghai 表示使用上海的本地时间。当你在项目中处理时间和日期时,我们默认会使用这个时区。

TIME_ZONE = 'Asia/Shanghai'


关闭右侧广告

# 关闭右侧广告SIMPLEUI_HOME_INFO = False


隐藏首页的快捷操作和最近动作

# 隐藏首页的快捷操作和最近动作SIMPLEUI_HOME_QUICK = False  # 快捷操作SIMPLEUI_HOME_ACTION = False  # 最近动作

(左右滑动查看完整代码)

打开首页看一下效果:

目录字体由原来的英文变更为中文了,首页默认的全部不显示了。


、设置默认主题

示例:设置Element-ui风格

# 设置默认主题SIMPLEUI_DEFAULT_THEME = 'element.css'

(左右滑动查看完整代码)

看一下,界面风格是不是上第一次打开的不一样了呢!

其他主题有:

layui风格【layui.css】
紫色风格【purple.css】
Admin Lte风格【admin.lte.css】

根据想要的默认风格,直接指向主题css文件名即可!

当然,在界面【改变主题】仍可以切换自己喜欢的风格


六、自定义首页

SimpleUI默认首页指向自定义的url

以下实例中指向以前分享的【大数据可视化平台】

# 首页设置SIMPLEUI_HOME_PAGE = 'http://127.0.0.1:5555/'  # 指向页面SIMPLEUI_HOME_TITLE = '大数据可视化平台'  # 首页标题SIMPLEUI_HOME_ICON = 'fa fa-code'  # 首页图标

(左右滑动查看完整代码)



七、设置右上角Home图标跳转

设置右上角Home图标跳转链接,会新建另外一个窗口打开

以下实例中打开的也是以前分享的【大数据可视化平台】

SIMPLEUI_INDEX = 'http://127.0.0.1:5555/'

(左右滑动查看完整代码)

点击Home图标,看效果


、两个额外设置(非常有必要了解)

离线模式设置

设置为 True 时,表示启用了 simpleui 的离线模式。在离线模式下,simpleui 将不会尝试从其服务器下载静态文件(如 JavaScript、CSS 文件等),确保 simpleui 在没有互联网连接的情况下也能正常工作,通过使用本地的静态资源而不是在线资源。

# 离线模式SIMPLEUI_STATIC_OFFLINE = True


simpleui开发分析

设置为 True 时,表示允许 simpleui 收集一些使用数据并发送回 simpleui 的服务器。

注意:出于隐私或安全的考虑,一些项目可能会选择关闭这个功能

# simpleui开发分析SIMPLEUI_ANALYSIS = False

(左右滑动查看完整代码)


页面优化

一、修改后台名称

   打开djangoProject/myapp/admin.py文件,添加代码:

    admin.site.site_header = 'ISEE小栈管理后台'  # 设置header    admin.site.site_title = 'ISEE小栈管理后台'  # 设置title

(左右滑动查看完整代码)

admin.py完整代码是:

from django.contrib import admin
from myapp.models import Book

# Register your models here.@admin.register(Book)class BookAdmin(admin.ModelAdmin): fields = ['no', 'name', 'author'] list_display = ['no', 'name', 'author', 'created_at'] search_fields = ['no', 'name'] list_filter = ['author', 'created_at'] list_per_page = 10
admin.site.site_header = 'ISEE小栈管理后台' # 设置header admin.site.site_title = 'ISEE小栈管理后台' # 设置title

(左右滑动查看完整代码)

到登录页面:

登录到首页:


二、设置页面LOGO图标

首先在项目djangoProject/myapp下新建static/logo/logo.png

目的是引入本地的logo图标

打开djangoProject/settings.py文件,添加配置:

# 设置图标SIMPLEUI_LOGO ='/static/logo/logo.png'

(左右滑动查看完整代码)


如果没有显示,那么需要检查一下在settings.py文件中的

STATIC_URL = "static/"


三、修改APP名称

   打开djangoProject/myapp/apps.py文件,添加:

verbose_name = '图书馆管理'

(左右滑动查看完整代码)

apps.py完整代码:

from django.apps import AppConfig

class MyappConfig(AppConfig): default_auto_field = "django.db.models.BigAutoField" name = "myapp" verbose_name = '图书馆管理'

(左右滑动查看完整代码)




四、自定义菜单

   打开djangoProject/settings.py文件,添加配置:

# 自定义菜单SIMPLEUI_CONFIG = {    'system_keep': False,  # 关闭系统菜单    'menu_display': ['图书馆管理', '认证和授权'],    'dynamic': True,  # 设置是否开启动态菜单, 默认为False. 如果开启, 则会在每次用户登陆时动态展示菜单内容    'menus': [{        'app': 'myapp',        'name': '图书馆管理',        'icon': 'fas fa-book-reader',        'models': [{            'name': '书籍',            'icon': 'fas fa-book',            'url': 'myapp/book/'        }]},        {            'app': 'auth',            'name': '认证和授权',            'icon': 'fas fa-shield-alt',            'models': [{                'name': '用户',                'icon': 'far fa-user',                'url': 'auth/user/'            }, {                'name': '组',                'icon': 'fas fa-users-cog',                'url': 'auth/group/',            }]        }]}

(左右滑动查看完整代码)


注意:一般情况下自定义菜单需要关闭系统菜单,即'system_keep': False

以上在自定义菜单使用的图标icon,可以参考

https://fontawesome.com/v5/search



总结

    次分享是基于前面文章是《一篇文章学会Django-从无到有》

    了解django的朋友,有兴趣的可以直接了解本篇,页面看起来很舒服、简洁。下面将源码整理:

其中首页自定义的url是用的前期分享的【Flask制作大屏显示-实时数据动态更新】(文尾有链接),主要是想把大屏嵌入到项目中,别无他意。使用django_simpleui的朋友可根据自己实际项目使用。



点个“”和“在看”,是对小栈最大的支持!

后台回复“django_simpleui”即可获取源码!


     

文章就分享到这儿,喜欢就点个吧!



推荐阅读  点击标题可跳转


ISEE小栈
没有花里胡哨,简单才是王道。
 最新文章