Django-Vue3-Admin 学习笔记(一) 项目后端部署记录

在这里插入图片描述

Django-Vue3-Admin 学习笔记(一) 项目后端部署记录

写在前面

笔者最近要参加计算机设计大赛的物联网类,想要学习一下管理面板。偶然听说 Django-Vue3-Admin 是个不错的选择,所以笔者选择这个框架进行开发。然而由于官方文档更新不及时,存在版本不同问题,所以笔者部署时遇到了不少的问题,在这里我将把我遇到的问题详细列出来,同时给予正确的答案,帮助大家更好地学习使用这个新框架。

一、部署环境

  1. 远程系统 - Raspberry Pi OS 64bit (Debian 12)
    由于系统部署在树莓派上,使用树莓派的基于 Debian12 的官方镜像,操作或许和 Ubuntu 有差别。
  2. Python 3.11
    没什么好说的,官方推荐 3.11 版本。
  3. Git
    用于拉取官方的仓库。
  4. MySQL 8
    详见 三、安装数据库

笔者后续会更新在宝塔面板部署项目的教程,敬请期待。

二、拉取源码

  1. 检查环境
    在开始部署前请确保环境安装正确,很重要!

  2. 通过 SSH 链接树莓派
    在这里插入图片描述

  3. 新建目录,使用 Git 拉取源码

    命令:

    git clone https://gitee.com/huge-dream/django-vue3-admin.git
    

    在这里插入图片描述

  4. 进入 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

  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值