Django后台界面优化

2023-07-30 17:31:25 浏览数 (1)

后台ui美化: 安装simpleui模块:

代码语言:javascript复制
 pip install django-simpleui

在settings.py中加入app:

代码语言:javascript复制
INSTALLED_APPS = [
    #  后台美化
    'simpleui',
    #  原生app
    'django.contrib.admin',
    'django.contrib.auth',
    ...
]

刷新后台或重启项目,进入后台即可。

模型排序 使模型在后台根据注册的顺序排序,在app/admin.py添加如下代码:

代码语言:javascript复制
from django.utils.text import capfirst
#  排序
def find_model_index(name):
    count = 0
    for model, model_admin in admin.site._registry.items():
        if capfirst(model._meta.verbose_name_plural) == name:
            return count
        else:
            count  = 1
    return count


def index_decorator(func):
    def inner(*args, **kwargs):
        templateresponse = func(*args, **kwargs)
        for app in templateresponse.context_data['app_list']:
            app['models'].sort(key=lambda x: find_model_index(x['name']))
        return templateresponse

    return inner


admin.site.index = index_decorator(admin.site.index)
admin.site.app_index = index_decorator(admin.site.app_index)

刷新后台或重启项目,进入后台即可。

站点标题更改 在一个有模型注册的app/admin.py中添加如下代码

代码语言:javascript复制
#  其他属性可直接在AdminSite类中查看
from django.contrib.admin import AdminSite
AdminSite.site_header = '我的后台管理'
AdminSite.site_title = '我的后台管理'
AdminSite.index_title = '欢迎'

0 人点赞