Django 项目打包exe本地运行
记一次离谱的需求
其实本来觉得Django项目架构比较清晰,代码逻辑也简单,没打算记笔记,结果遇到离谱需求折腾了很久
开发了一个Django项目,到交付的时候了,客户说自己没有服务器…
没服务器还要登录功能😓
没办法,甲方最大,整吧
第一步,迁移数据库
项目数据库是基于服务器上的pgsql,先迁移到本地sqlite
先把数据导出到本地文件
python manage.py dumpdata
理论上是用这个命令,但是我好像报了编码错误,所以编写了下边这个python脚本
import osfrom django.core import serializers
from django.apps import apps
import json
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'efplctp.settings')import subprocess
import sys
import os# 获取虚拟环境中 Python 解释器的完整路径
# 如果你使用的是 Windows,路径可能是 venv\Scripts\python.exe
# 如果你使用的是 Unix/Linux/macOS,路径可能是 venv/bin/python
python_executable = os.path.join(os.path.dirname(sys.executable), 'python')# 构造完整的命令
command = [python_executable, "manage.py", "dumpdata"]# 运行命令并捕获输出
try:result = subprocess.run(command, capture_output=True, text=True, encoding="utf-8")if result.returncode == 0:# 将输出保存到文件with