为了让自己能够更好具备自动化实战经验,避免不了有练手的项目,所有选择在网上找了这个开源项目,搭建到本地。这次搭建的项目是:Django-Vue-Admin
项目网站:https://django-vue-admin.com/document/hjbs.html
所需软件
mysql(或其他熟悉的数据库)
python3(根据项目用到的python版本并安装好Django)
pycharm
Node.js
git
拉取代码
- 通过
git clone https://gitee.com/liqianglog/django-vue-admin.git
下载到工作目录
后端运行
- 进入后端项目目录:
cd backend
- 在项目根目录中,复制
./conf/env.example.py
文件为一份新的到./conf/env.py
下,并重命名为env.py
- 在
env.py
中配置数据库信息(默认数据库为sqlite3,测试演示可忽略此步骤) - 安装依赖环境:
pip3 install -r requirements.txt
- 执行迁移命令:
python3 manage.py makemigrations
python3 manage.py migrate
- 初始化数据:
python3 manage.py init
- 初始化省市县数据:
python3 manage.py init_area
- 启动项目:
python3 manage.py runserver 0.0.0.0:8000
前端运行
- 进入前端项目目录
cd web
- 安装依赖
npm install --registry=https://registry.npm.taobao.org
- 启动服务
npm run dev
访问项目
- 访问地址:http://localhost:8080 (opens new window)(默认为此地址,如有修改请按照配置文件)
- 账号:
superadmin
密码:admin123456
——————————————————————————————————————————
以上是官网提供的大致步骤,我在搭建有出现的问题及解决方法如下:
- \backend\application\settings.py 设置文件里需要修改一下数据库信息
# Database相关帮助链接,按照里面说的设置一下default的信息,就填配置的数据库信息就可以
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql", # 如果是其他数据库,就把.mysql改下
"NAME": "mysql", # 也是一样,如果加入是oracle,就改成oracle
"USER": "root",
"PASSWORD": "123456",
"HOST": "127.0.0.1",
"PORT": "3306",
}
2.在运行时会提示 No module named ‘XXX’ 此类问题,就是少了某个包,就直接百度找到具体安装命令就可以
pip install xxx
-
启动mysql时提示服务拒绝访问,重新 右键->管理身份运行命令符
-
执行迁移命令
python manage.py makemigrations
出现该错误django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.3 or newer is required; you have 1.0.3.
解决办法是在跟setting.py同一个根目录下的__init__.py文件里加以下代码
import pymysql
pymysql.version_info =(2, 1, 1, "final", 0) # 版本号是写报错里的mysqlclient的版本
pymysql.install_as_MySQLdb()
-
运行后端
python manage.py runserver 0.0.0.0:8000
过程中出现错误RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods
解决办法:
①以管理员身份,cmd中输入命令行“net start MySQL80”先启动数据库,再输入 “mysql”,进入MySQL,然后再回到pycharm就可以了(这个办法不行就用第二种,我自己用的是第二种方法)
②pip install cryptography
安装cryptography包,如果网络一直连接不上,可以试试
pip install cryptography -i https://pypi.douban.com/simple
或者
pip install cryptography -i https://pypi.tuna.tsinghua.edu.cn/simple
————————————————
原文链接:https://blog.csdn.net/m0_64002592/article/details/125733451` -
启动前端
npm run serve
报错digital envelope routines::unsupported
,是因为Node JS 17 的 BUG,相关 ISSUE 也给出了解决办法,在相关构建命令之前加入set NODE_OPTIONS=–openssl-legacy-provider
,需要现在环境变量里新建NODE_OPTIONS
搭建过程中有遇到的问题基本是以上这些,遇到的问题都可以通过搜索找到解决办法
另附部署教程
这次只是搭建到本地供测试进行使用,后续如果想要部署上线的话可以参考下面的教程
【项目部署】10分钟就能搞好的Django项目部署