在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