-
安装SimpleUI
- 在Django项目的虚拟环境中,通过
pip
安装SimpleUI:
pip install django - simpleui
- 在Django项目的虚拟环境中,通过
-
配置SimpleUI
- 添加到INSTALLED_APPS:
- 打开
settings.py
文件,将simpleui
添加到INSTALLED_APPS
列表中。
INSTALLED_APPS = [ #...其他应用 'simpleui', ]
- 打开
- 配置主题(可选):
- SimpleUI提供了多种主题。可以在
settings.py
中通过SIMPLEUI_DEFAULT_THEME
来配置默认主题。例如:
SIMPLEUI_DEFAULT_THEME = 'purple - light'
- 这里设置了使用紫色浅色主题。如果不配置这个选项,将使用SimpleUI的默认主题。
- SimpleUI提供了多种主题。可以在
- 添加到INSTALLED_APPS:
-
使用SimpleUI美化Django后台管理界面
- 登录页面美化:
- SimpleUI会自动美化Django的后台登录页面。它提供了一个简洁、美观的界面,可能包括品牌标识(可以通过配置自定义)、背景图片(也可自定义)等元素。
- 后台管理界面布局优化:
- 在后台管理界面中,SimpleUI对各个应用的管理页面进行了重新布局。例如,模型列表页面更加清晰,操作按钮(如添加、删除、修改等)更加直观。它还提供了一些快捷操作入口,如快速搜索框,方便管理员查找特定的记录。
- 自定义菜单(在
admin.py
中):- 可以通过
admin.py
来自定义后台管理菜单。例如,重新排列菜单顺序、添加分隔线、分组菜单等。
from django.contrib import admin from.models import Book, Author # 自定义菜单顺序和分组 class CustomAdminSite(admin.AdminSite): def get_app_list(self, request): app_list = super().get_app_list(request) # 重新排列应用顺序 app_list.sort(key = lambda x: x['name']) # 为特定应用添加分隔线 for app in app_list: if app['app_label'] == 'books': app['models'].append({ 'name': '---', # 分隔线名称 'object_name': 'divider', 'perms': { 'add': False, 'change': False, 'delete': False } }) return app_list admin_site = CustomAdminSite() admin_site.register(Book) admin_site.register(Author)
- 上述代码自定义了管理站点的菜单,对应用进行排序,并在
books
应用的菜单中添加了一个分隔线。
- 可以通过
- 登录页面美化:
-
利用SimpleUI的其他功能(如图表等)
- 数据可视化(以图表为例):
- SimpleUI支持一些简单的数据可视化功能。假设你有一个统计模型,用于记录网站的访问量等数据,你可以在
admin.py
中集成图表显示。首先,需要一个获取数据的函数,例如:
from.models import VisitStatistic from django.db.models import Sum from collections import OrderedDict def get_visit_statistics(): # 按日期统计访问量 statistics = VisitStatistic.objects.values('date').annotate(total_visits = Sum('visits')).order_by('date') data = OrderedDict() for stat in statistics: data[stat['date']] = stat['total_visits'] return data
- 然后在
admin.py
中注册这个函数来显示图表:
from simpleui.analytics import Analytics from django.contrib import admin class VisitStatisticAdmin(admin.ModelAdmin): list_display = ('date', 'visits') class Media: js = ('js/chart.min.js',) # 假设已经有一个chart.min.js用于图表绘制 def changelist_view(self, request, extra_context = None): analytics = Analytics() analytics.add('访问量统计', get_visit_statistics(), 'line') # 以折线图形式显示访问量统计 if extra_context is None: extra_context = {} extra_context['analytics'] = analytics.get() return super().changelist_view(request, extra_context)
- 这样,在访问
VisitStatistic
模型的管理页面时,就可以看到一个显示访问量统计的折线图,帮助管理员更直观地了解数据趋势。
- SimpleUI支持一些简单的数据可视化功能。假设你有一个统计模型,用于记录网站的访问量等数据,你可以在
- 数据可视化(以图表为例):
Django使用SimleUI
最新推荐文章于 2025-01-06 15:49:52 发布