Django Admin Menu 项目教程
1. 项目的目录结构及介绍
django-admin-menu/
├── admin_menu/
│ ├── __init__.py
│ ├── apps.py
│ ├── static/
│ │ └── admin_menu/
│ │ └── css/
│ │ └── admin_menu.css
│ ├── templates/
│ │ └── admin/
│ │ └── base_site.html
│ ├── tests/
│ │ ├── __init__.py
│ │ ├── settings.py
│ │ └── test_admin_menu.py
│ └── views.py
├── docs/
│ └── ...
├── setup.py
└── README.md
admin_menu/
: 核心模块,包含应用的配置、静态文件和模板。__init__.py
: 初始化文件。apps.py
: 应用配置文件。static/
: 静态文件目录,包含CSS样式文件。templates/
: 模板文件目录,包含自定义的Django Admin模板。tests/
: 测试文件目录,包含测试配置和测试用例。views.py
: 视图文件。
docs/
: 文档目录。setup.py
: 安装配置文件。README.md
: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件主要是Django项目的manage.py
文件,通常位于项目根目录下。manage.py
是Django项目管理的主要入口,用于执行各种管理命令,如运行开发服务器、创建数据库迁移等。
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project_name.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
3. 项目的配置文件介绍
项目的配置文件主要是settings.py
,通常位于项目的主应用目录下。以下是一些关键配置项的介绍:
# settings.py
INSTALLED_APPS = [
'admin_menu', # 确保在 'django.contrib.admin' 之前
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
# 自定义菜单配置
ADMIN_MENU_CONFIG = {
'MENU_ICONS': {
'sites': 'icon-leaf',
'auth': 'icon-lock',
},
'MENU_OPEN_FIRST_CHILD': True, # 默认 True
'MENU_EXCLUDE': ('auth.group',),
'MENU': (
'sites',
{'app': 'auth', 'icon': 'icon-lock', 'models': ('user', 'group')},
{'label': 'Settings', 'icon': 'icon-cog', 'models': ('auth.user', 'auth.group')},
{'label': 'Support', 'icon': 'icon-question-sign', 'url': '/support/'},
),
}
INSTALLED_APPS
: 安装的应用列表,确保admin_menu
在django.contrib.admin
之前。ADMIN_MENU_CONFIG
: 自定义菜单配置,包括图标、子菜单展开设置、排除的模型和自定义菜单项。
以上是Django Admin Menu项目的目录结构、启动文件和配置文件的介绍。希望这篇教程能帮助你更好地理解和使用该项目。