# damiAdmin **Repository Path**: daotianmi/damiAdmin ## Basic Information - **Project Name**: damiAdmin - **Description**: 本项目采用前后端分离模式,遵循restful api接口规范,集成任务管理器,权限管理,菜单管理,用户管理。项目采用django+DjangoRESTFramework+vue来构建的,其中权限管理是基于RBAC模型权限控制的,可以控制到按钮层级,models层、view层、tasks任务、等都做了文件分离方便多人协同开发。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 1 - **Created**: 2024-09-26 - **Last Updated**: 2025-12-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 平台简介 本项目采用前后端分离模式,遵循restful api接口规范,集成任务管理器,权限管理,菜单管理,用户管理。 后端程序采用python=3.9.19、django=4.2.14、djangorestframework=3.15.2来构建的,其中权限管理是基于RBAC模型权限控制的,可以控制到按钮层级,models层、view层、tasks任务、等都做了文件分离方便多人协同开发。 前端采用vue+ElementUI+axios来构建的,集成了阿里图标库,查看图标代码路径是vue2\src\assets\icon\demo_index.html ,如果在菜单栏想使用阿里图标库请修改代码vue2\src\layout\components\Sidebar\Item.vue 第20行在icon.includes('mi-icon')此处后边添加即可。 ## 后端 ```bash #进入到后端目录backend # 创建虚拟环境 python -m venv damiAdmin # 项目依赖 pip3 install -r requirements.txt # 或者直接用conda环境,backend/conda_env.yaml conda env create -f conda_env.yaml # 执行迁移命令(如果用conda请记得切换到刚创建的环境) python3 manage.py makemigrations python3 manage.py migrate # 创建超级管理员 按照提示一步步操作即可 python manage.py createsuperuser # 启动项目 python manage.py runserver 127.0.0.1:8000 ``` ## 前端 ```bash # 进入项目目录 cd vue2 # 安装依赖 通过国内镜像解决下载速度慢的问题 npm install --registry=https://registry.npm.taobao.org # 启动服务 npm run dev ``` ## 前端发布 ```bash # 预览发布环境效果 npm run preview # 预览发布环境效果 + 静态资源分析 npm run preview -- --report # 构建测试环境 npm run build:stage # 构建生产环境 npm run build:prod ``` ## 后端部署 本项目可以前后端分别部署, 但需要配置nginx代理。也可打包之后将前端部署到后端templates下,静态资源放置到static中。 django自带后台管理如果没有样式问题,执行collectstatic。 如果不知道菜单管理如何配置的,可以参考截图。 后端nginx配置可以参考后端目录backend/damiadmin.conf 后端uwsgi配置可以参考后端目录backend/uwsgi.ini ### 定时任务 ```bash # 需要安装redis并启动 # 使用celery、django_celery_beat、django_celery_results等包实现 # 启动worker以及beat # 进入命令行并启动worker: , linux系统不用加-P eventlet(windows需要安装eventlet模块) celery -A server worker -l info -P eventlet # 进入命令行并启动beat celery -A server beat -l info ``` ## 部分截图 ![image](./images/login.png) ![image](./images/home.png) ![image](./images/user.png) ![image](./images/user1.png) ![image](./images/role.png) ![image](./images/roleAuth.png) ![image](./images/permission.png) ![image](./images/permission1.png) ![image](./images/task.png) ![image](./images/task1.png)