在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
相关推荐
晋阳十二夜5 小时前
【压力测试之_Jmeter链接Oracle数据库链接】
数据库·oracle·压力测试
GDAL6 小时前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
DCTANT7 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
AI、少年郎9 小时前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
赤橙红的黄9 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
DataGear10 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
weixin_4383354010 小时前
分布式锁实现方式:基于Redis的分布式锁实现(Spring Boot + Redis)
数据库·redis·分布式
码不停蹄的玄黓10 小时前
MySQL Undo Log 深度解析:事务回滚与MVCC的核心功臣
数据库·mysql·undo log·回滚日志
Qdgr_10 小时前
价值实证:数字化转型标杆案例深度解析
大数据·数据库·人工智能
数据狐(DataFox)11 小时前
SQL参数化查询:防注入与计划缓存的双重优势
数据库·sql·缓存