基于Django的本地库存管理Web应用免服务器安装程序开发需求
基于Django的本地库存管理Web应用开发方案(含一键安装配置)
核心需求梳理
- 开发基于Django的本地库存管理Web应用,仅对管理员、销售员开放,无需部署至公网
- 数据库直接存储在本地计算机
- 为技术能力不足的销售员提供无需手动启动服务器的便捷使用方式
项目基础配置要点
网络与访问控制
- 在项目
settings.py中设置ALLOWED_HOSTS = ['localhost', '127.0.0.1', '你的局域网IP'],确保仅本地/内网可访问 - 数据库优先选用SQLite(Django默认),无需额外安装数据库服务,数据以本地文件形式存储,适配非技术用户
- 在项目
用户权限划分
- 利用Django自带的用户认证系统,创建两个权限组:
- 管理员组:分配全权限(库存增删改查、用户管理、系统设置等)
- 销售员组:仅开放库存查询、基础录入权限,隐藏后台管理入口
- 利用Django自带的用户认证系统,创建两个权限组:
一键安装与启动实现方案
核心是把Python环境、Django项目、服务器启动流程全部封装成傻瓜式可执行程序,步骤如下:
1. 用PyInstaller打包项目为可执行文件
- 先验证项目本地运行正常:执行
python manage.py runserver确认功能无问题 - 安装PyInstaller工具:
pip install pyinstaller - 编写启动脚本
start_app.py(自动启动服务器并打开浏览器):import os import sys import webbrowser from django.core.management import execute_from_command_line if __name__ == "__main__": # 替换为你的项目settings模块路径 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "inventory_system.settings") # 启动本地服务器,用127.0.0.1仅限本机访问,内网共享可改为局域网IP execute_from_command_line(["manage.py", "runserver", "127.0.0.1:8000"]) # 自动打开应用首页,减少用户操作 webbrowser.open("http://127.0.0.1:8000") - 执行打包命令:
pyinstaller --onefile --windowed start_app.py--onefile生成单个可执行文件,--windowed隐藏命令行窗口,避免非技术用户困惑
2. 制作可视化安装程序
用NSIS或Inno Setup工具把打包后的可执行文件、项目静态文件、数据库文件(如db.sqlite3)打包成Windows安装包:
- 配置安装程序自动解压文件到指定目录(如
C:\LocalInventoryApp) - 创建桌面快捷方式,用户双击即可启动应用(自动运行服务器+打开浏览器)
- 所有依赖已被PyInstaller封装,用户无需手动安装Python或其他组件
额外注意事项
- 若需要内网共享访问,把启动脚本中的IP改为本机局域网IP(如
192.168.1.103:8000),销售员在同一网络下输入该地址即可访问 - 提醒管理员定期手动备份
db.sqlite3文件,避免数据丢失 - 打包时若静态文件无法加载,需修改PyInstaller的
spec文件,手动指定static、templates等资源路径
内容的提问来源于stack exchange,提问作者Khalil El Ati
相关产品推荐
相关产品推荐

