在Django Admin添加快捷方式django-admin-shortcuts

在Django管理主页上添加简单漂亮的快捷方式。

1.安装

复制代码
pip install django-admin-shortcuts

2在settings.py注册django-admin-shortcuts

复制代码
INSTALLED_APPS = [
    'admin_shortcuts',
    'django.contrib.admin',
     .......
]

3.添加ADMIN_SHORTCUTS设置

复制代码
ADMIN_SHORTCUTS = [    {        'title': 'Authentication',        'shortcuts': [            {                'title': 'Groups',                'url_name': 'admin:auth_group_changelist',                               'has_perms': ['example.change_group', 'example.delete_group'],            },            {                'title': 'Add user',                'url_name': 'admin:auth_user_add',                'test_func': 'example.utils.has_perms_to_users',            },        ]    },]
  • app_name是将用于 URL 反转的管理应用的名称。

  • url_name可选是将覆盖的直接链接url

  • url_extra是在 URL 末尾附加额外的内容(例如用于预过滤管理视图的 GET 数据)

  • title是快捷方式的标题快捷方式。如上所述,此函数也可以选择接受一个参数。

  • test_func是项目中返回布尔值的函数的路径。如果为 True,则显示快捷方式。此函数也可以选择接受一个参数。

  • count_new是项目中返回有趣内容的函数的路径(例如所有产品的计数或所有挂单的计数)。该函数可以选择接受一个参数,即当前的 Django 对象。

  • has_perms是表示显示快捷方式所需的内置管理员权限的字符串列表。

  • icon可选的是 Font Awesome Solid https://fontawesome.com/icons?d=gallery\&s=solid 图标类

设置示例

复制代码
ADMIN_SHORTCUTS = [    {        'shortcuts': [            {                'url': '/',                'open_new_window': True,            },            {                'url_name': 'admin:logout',            },            {                'title': 'Users',                'url_name': 'admin:auth_user_changelist',                'count': 'example.utils.count_users',            },            {                'title': 'Groups',                'url_name': 'admin:auth_group_changelist',                'count': 'example.utils.count_groups',                'has_perms': ['example.change_group', 'example.delete_group'],            },            {                'title': 'Add user',                'url_name': 'admin:auth_user_add',                'test_func': 'example.utils.has_perms_to_users',                'url_name': 'admin:auth_user_add',                'has_perms': 'example.utils.has_perms_to_users',            },        ]    },    {        'title': 'CMS',        'shortcuts': [            {                'title': 'Pages',                'url_name': 'admin:index',            },            {                'title': 'Files',                'url_name': 'admin:index',            },            {                'title': 'Contact forms',                'icon': 'columns',                'url_name': 'admin:index',                'count_new': '3',            },            {                'title': 'Products',                'url_name': 'admin:index',            },            {                'title': 'Orders',                'url_name': 'admin:index',                'count_new': '12',            },        ]    },]ADMIN_SHORTCUTS_SETTINGS = {    'show_on_all_pages': True,    'hide_app_list': True,    'open_new_window': False,}

最终效果

可选设置

复制代码
ADMIN_SHORTCUTS_SETTINGS = {    'show_on_all_pages': False,    'hide_app_list': False,    'open_new_window': False,}

作用说明:

  • show_on_all_pages显示所有管理页面上的快捷方式

  • hide_app_list折叠应用列表

  • open_new_window使所有快捷方式在新窗口中打开

自定义外观

更改CSS覆盖模板页面templates/admin_shortcuts/base.css

要更改漂亮的图标,可以指定ADMIN_SHORTCUTS_CLASS_MAPPINGS的引用

复制代码
项目github:https://github.com/alesdotio/django-admin-shortcuts
相关推荐
祖传F871 分钟前
quickbi数据集数据查询时间字段显示正确,仪表板不显示
数据库·sql·阿里云
Leon-Ning Liu21 分钟前
Oracle 26ai新特性:时区、表空间、审计方面的新特性
数据库·oracle
humors22131 分钟前
各厂商工具包网址
java·数据库·python·华为·sdk·苹果·工具包
Yushan Bai1 小时前
ORACLE数据库在进行DROP TABLE时失败报错ORA-00604问题的分析处理
数据库·oracle
77美式1 小时前
Node + Express + MongoDB 后端部署全解析:新手零踩坑
数据库·mongodb·express
城数派2 小时前
2000-2025年我国省市县三级逐8天日间地表温度数据(Shp/Excel格式)
数据库·arcgis·信息可视化·数据分析·excel
AC赳赳老秦2 小时前
OpenClaw text-translate技能:多语言批量翻译,解决跨境工作沟通难题
大数据·运维·数据库·人工智能·python·deepseek·openclaw
AI应用实战 | RE2 小时前
014、索引高级实战:当单一向量库不够用的时候
数据库·人工智能·langchain
ffqws_2 小时前
Spring Boot入门:通过简单的注册功能串联Controller,Service,Mapper。(含有数据库建立,连接,及一些关键注解的讲解)
数据库·spring boot·后端
清水白石0082 小时前
《Python 架构师的自动化哲学:从基础语法到企业级作业调度系统与 Airflow 止损实战》
数据库·python·自动化