Django-Vue3-Admin 学习笔记(一) 项目后端部署记录
写在前面
笔者最近要参加计算机设计大赛的物联网类,想要学习一下管理面板。偶然听说 Django-Vue3-Admin 是个不错的选择,所以笔者选择这个框架进行开发。然而由于官方文档更新不及时,存在版本不同问题,所以笔者部署时遇到了不少的问题,在这里我将把我遇到的问题详细列出来,同时给予正确的答案,帮助大家更好地学习使用这个新框架。
一、部署环境
- 远程系统 - Raspberry Pi OS 64bit (Debian 12)
由于系统部署在树莓派上,使用树莓派的基于 Debian12 的官方镜像,操作或许和 Ubuntu 有差别。 - Python 3.11
没什么好说的,官方推荐 3.11 版本。 - Git
用于拉取官方的仓库。 - MySQL 8
详见 三、安装数据库
笔者后续会更新在宝塔面板部署项目的教程,敬请期待。
二、拉取源码
-
检查环境
在开始部署前请确保环境安装正确,很重要!
-
通过 SSH 链接树莓派
-
新建目录,使用 Git 拉取源码
命令:
git clone https://gitee.com/huge-dream/django-vue3-admin.git
-
进入 django-vue3-admin/backend 后端目录
目录结构:
└── backend - 后端目录(部分)
├── application - App目录
├── conf - 配置目录
├── dvadmin - 系统目录
├── logs - 日志目录
├── manage.py - 主程序
├── plugins - 插件目录
├── requirements.txt - 依赖列表
├── static - 静态文件
└── templates - 模版文件cd backend
至此,源码已经拉取成功。
三、安装数据库
Django-Vue3-Admin 使用 MySQL 数据库进行数据存储,所以需要先安装 MySQL 。
1.安装 MySQL
使用命令:
sudo apt-get install mysql-server
由于防止 MySQL 的闭源风险,树莓派不支持直接安装 MySQL ,而是使用 mariadb-server 这个分支,所以更换安装命令。其他系统正常使用 MySQL 即可。
sudo apt-get install mariadb-server
此处输入 “y”,回车,静待安装。
安装成功。
2.初始化 MySQL
进入服务器
sudo mysql
创建密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
exit;
重新使用密码登录
mysql -u root -p
成功修改了 MySQL 中 root 用户的密码。
此时,新建一个数据库,用来存放后端的数据。
CREATE DATABASE dvadmin
CHARACTER SET utf8mb4;
exit;
记住数据库的名称,后续配置后端要用到。
四、初始化后端
从这里开始的内容很重要,请认真阅读。
1.创建虚拟环境
确保终端处在 backend 目录中,首先创建一个虚拟环境,与全局环境隔离开。
python3 -m venv ./dvadmin_env
执行后,通过 ls
命令检查 dvadmin_venv 目录是否存在。然后激活虚拟环境。
source ./dvadmin_env/bin/activate
此时,终端应该会在用户名前显示虚拟环境的名称,说明虚拟环境激活成功。
要退出虚拟环境,请使用 deactivate
命令。
从这里开始,所有的操作都在虚拟环境内执行
(重要!!!⚠️)
2.安装依赖
重要:此处是最容易出错的地方,而且由于每个人的环境都不同,安装依赖时可能会出现不同的错误。请善用各种 AI 软件协助自己安装依赖。
确保自己在 backend 目录中,执行以下命令安装 Python 依赖。
首先,配置 pip 为国内镜像源以加快安装速度。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
执行以下命令,尝试安装依赖。
pip3 install -r requirements.txt
正常情况下,运行本命令可以看到,镜像源已经成功更改为清华源,而树莓派默认强制使用 piwheels 的官方源,所以需要进一步修改 /etc/pip.conf
文件。若成功替换则可以跳过此步骤。
修改 /etc/pip.conf
文件。
sudo nano /etc/pip.conf
注释掉 extra-index-url=https://www.piwheels.org/simple
这一行,添加以下内容:
extra-index-url=https://pypi.tuna.tsinghua.edu.cn/simple
ctrl + x, 输入y, 回车保存,重新执行 pip3 install -r requirements.txt
测试。
可以看到,安装正在进行,镜像源也成功替换成清华源。
安装错误排查
本步骤因人而异,笔者会以自己为例解释报错,帮助大家理解报错原因。
请注意,请大家善用 AI 分析报错!!!
首先,回到红色的 error 的上方,看到最后一个安装的包是 mysqlclient,则就是安装此包时出现问题。
通过分析可以得出,安装包时无法在系统中找到 mysql-client 这个包,我们先通过 apt 安装 mysql-client 试试
由于树莓派的 mariadb,笔者在这里安装 libmariadb-dev。其他系统可以尝试:
sudo apt-get install default-libmysqlclient-dev
安装成功后,测试 mariadb_config 命令。
原输出:
新输出:
可以看到,安装后命令正常使用,此时重新尝试安装包。
可以看到正常通过安装,但是报了新错误。按照这个思路理下去就可以解决大部分错误。
执行命令:
sudo apt-get install libpq-dev
重新安装包
错误排除。
成功安装上全部的包。此步骤结束,
3.配置 env.py
请一定确保所有依赖安装完成!
进入 /backend/conf 文件夹,执行以下复制命令。
cp env.example.py env.py
编辑 env.py 文件
保存退出。
4.迁移文件
返回 backend 文件夹,按顺序执行命令。
python3 manage.py makemigrations # 迁移文件
python3 manage.py migrate # 同上
python3 manage.py init # 初始化数据库
python3 manage.py init_area # 初始化城市信息
迁移文件结束。
5.运行服务器
恭喜!现在就剩下最后一步啦!
执行以下命令运行服务器
python3 manage.py runserver 0.0.0.0:8000
如果没有出现报错,那么就说明服务器正常运行了!
现在你可以访问 http://127.0.0.1:8000/
来测试了
笔者通过内网访问,所以 IP 地址要写树莓派的 IP。
至此,后端的部署就结束了!前端部分请看下一节。
写在后面
其实部署后端不是非常难,重要的是细心,要学会分析报错问题。
希望大家通过本文章学习到东西。
作者的 github: Hu-xiaojiao (Huxiaojiao) (github.com)
感谢大家的支持,也是第一次写学习笔记,如有不周请谅解。
Huxiaojiao233 写于 2024/5/16