# Django Vue app ## 启动方式 1. 前端vue + element-ui编译 + 进入`appfront`目录,不同环境下编译,详细查看如下文档 ``` appfront/README-DEPLOY.md ``` + 项目集成需要,必须编译为生产环境 ``` $npm run build ``` 2. 启动django,项目根目录下 + 进入交互式命令模式 ``` $pipenv shell ``` + 创建虚拟环境,安装依赖 ``` $pipenv install ``` + 退出交互式命令模式 ``` $exit ``` + 启动(默认IP和端口) ``` $python manage.py runserver ``` + 启动(指定IP和端口) ``` $python manage.py runserver 192.168.1.50:8080 ``` ## 打包 1. 相关版本 + python 3.10.5,32位 + pip 22.1.2 + pyinstaller 5.2 2. 安装`pyinstaller` ``` $pip3 install pyinstaller ``` 3. 依赖包脚本`dep-package.txt`更新 + 如果有依赖包版本升级(可以查看Pipfile和Pipfile.lock文件中对应依赖包的版本),请更新`dep_package.txt`对应依赖包版本; 4. 运行脚本`dep_package.bat`安装全部依赖 ``` $dep-package-setup.bat ``` 5. 生成spec文件 ``` # 如果有`资源文件`要打包到可执行文件中,使用`--add-data SRC;DEST`参数,该参数可多次使用(Windows下使用`;`,unix下使用`:`) $pyi-makespec -i ./pkg.ico --noupx --add-data ./idcard/biz/lib/dll/*.dll;./idcard/biz/lib/dll --add-data ./idcard/biz/config.json;./idcard/biz manage.py ``` ``` # 如果有`前端静态代码`以及其它`资源文件`要打包到可执行文件中,也使用`--add-data SRC;DEST`参数 $pyinstaller --clean -y -i ./pkg.ico --noupx --add-data ./appfront/dist;./appfront/dist --add-data ./idcard/biz/lib/dll/*.dll;./idcard/biz/lib/dll --add-data ./idcard/biz/config.json;./idcard/biz 你的入口文件.py ``` 6. 打包 ``` $pyinstaller --clean -y manage.spec ``` 7. 进入打包目录 ``` $cd dist/manage ``` 8. 运行打包程序 ``` # 不加`--noreload`参数要报错 $manage.exe runserver 21600 --noreload ``` ``` ## 系统服务依赖 * 在Windows平台下,wmi模块依赖`Windows Management Instrumentation`服务,请确保打开, + 否则系统运行时会报如下错误 ``` Traceback (most recent call last): # ...... import wmi # ...... intypes.com_error: (-2147023838, '无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。', None, None) ``` * 在修改Model后,需要与现有表结构数据同步 + 否则,在运行中,会有提示 ``` You have 17unapplied migration(s). Your project may not work properly until you apply ... ``` + 执行如下命令同步表结构数据,可以解决 ``` $python manage.py migrate ```