在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
相关推荐
不断高歌1 小时前
MySQL基础随堂笔记3
数据库·mysql
筵陌1 小时前
MySQL表的增删查改(上)
数据库·mysql
paperxie_xiexuo1 小时前
学术与职场演示文稿的结构化生成机制探析:基于 PaperXie AI PPT 功能的流程解构与适用性研究
大数据·数据库·人工智能·powerpoint
筵陌2 小时前
MySQL表的约束
数据库·mysql
UCoding2 小时前
我们来学mysql -- ReadView工作原理
数据库·mysql·readview工作原理
angushine2 小时前
解决MySQL慢日志输出问题
android·数据库·mysql
合作小小程序员小小店2 小时前
网页开发,在线%旧版本旅游管理%系统,基于eclipse,html,css,jquery,servlet,jsp,mysql数据库
java·数据库·servlet·eclipse·jdk·旅游·jsp
q***46522 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
腾讯云数据库3 小时前
「腾讯云 NoSQL 技术」之 Redis 篇|揭晓腾讯云Redis水平扩缩容极致流畅背后的技术玄机
数据库
SelectDB4 小时前
压缩率提升 48%,详解 Apache Doris 存储压缩优化之道|Deep Dive
数据库·开源·github