3.2 KiB
3.2 KiB
lyadmin后端 专业版
注意:本后端python版本请选择3.9及以上
1. 进入项目目录
2. 在 config.py 中配置数据库信息
mysql数据库版本建议:8.0(django4.2版本开始要求mysql8.x及以上)
mysql数据库字符集:utf8mb4(mysql8.x排序规则选择:utf8mb4_0900_ai_ci、mysql5.7.x选择utf8mb4_general_ci)
mysql数据库对应的表关于事务处理的确保是:innodb引擎(能回滚)
3. 设置数据库隔离级别(悲观锁、乐观锁)
全局设置mysql数据库隔离级别为READ-COMMITTED(临时生效,重启就没了):SET GLOBAL tx_isolation='READ-COMMITTED';
全局设置mysql数据库隔离级别为READ-COMMITTED(永久有效):修改配置文件my.cnf 的[mysqld]中增加 transaction-isolation=Read-Committed
当数据库当前会话的隔离级别:set tx_isolation='READ-COMMITTED';
查询当前会话的数据库隔离级别:select @@tx_isolation;
查询数据库mysql的隔离级别:select @@global.tx_isolation;
4. 设置数据库不区分大小写:修改配置文件my.cnf 的[mysqld]中增加 lower_case_table_names = 1
5. 安装依赖环境
本地
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
线上
pip install -r requirements_linux.txt -i https://mirrors.aliyun.com/pypi/simple/
6. 数据初始化使用sql脚本直接导入(本sql脚本使用的是SQL_Front5.3工具配合mysql5.7数据库导出的)
sql脚本位置:backend/lyadmin_pro.sql
7. 执行迁移命令:(防止代码有更新但未进行数据同步问题)
python manage.py makemigrations
python manage.py migrate
8. 启动项目(初始账号:superadmin 密码:123456)(本地开发)
python manage.py runserver 127.0.0.1:8000
或使用 daphne (使用【终端服务】的需要使用此asgi方式部署来支持websocket):
daphne -b 0.0.0.0 -p 8000 --proxy-headers application.asgi:application
使用celery【计划任务】需要额外启动celery 和 beat(调度器)
mac/linux:
celery -A application worker -B -l info
windows:(需要安装: pip install eventlet)
celery -A application worker -P eventlet -l info
celery -A application beat -l info
9. 线上linux部署启动项目(需修改gunicorn_restart.sh中gunicorn命令安装目录)
sh gunicorn_restart.sh
其他说明
1、使用本项目记得要更改application-->settings-->SECRET_KEY
可以运行python manage.py shell
from django.core.management import utils
utils.get_random_secret_key()
获取生成的新SECRET_KEY替换原来的老KEY
2、本项目可使用最新的python版本开发、注意最新django版本安全问题,请及时更新安全稳定版本
python3.11.x 在windows中需要Microsoft Visual C++ >=14.0. 下载地址: https://visualstudio.microsoft.com/visual-cpp-build-tools/ 以上安装完还报错则访问如下地址:直接下载对应python和windows版本的twisted_iocpsupport如:twisted_iocpsupport‑1.0.2‑cp311‑cp311‑win32.whl直接pip install xxx.whl即可 https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted