Python 在Electron中运行/停止Django开发服务器
我刚开始学习Electron,对Python和Django有一些经验。这就是我想要实现的目标Python 在Electron中运行/停止Django开发服务器,python,django,server,electron,Python,Django,Server,Electron,我刚开始学习Electron,对Python和Django有一些经验。这就是我想要实现的目标 使用充当前端的Electron创建桌面应用程序 使用python作为后端来完成所有繁重的工作。所谓繁重,我指的是广泛的文本处理 使用Django作为桥接器,以简单web页面(即Electron)的形式显示python生成的结果 据我所知 Electron感觉更可用、更高效,并且提供的UI组件不像tkinter等那样难看。因此选择坚持使用Electron 从过去几天的谷歌搜索中,我知道node.js有一些
function createBackendServer () {
backendServer=child_process.spawn([path/to/venv/python],['manage.py','runserver'])}
`app.on('will-quit', function() {
backendServer.kill()
})`
而且
`app.on('window-all-closed', function () {
if (process.platform !== 'darwin') {
app.quit()
backendServer.kill()
}
})`
所有这些似乎都不起作用,因为我仍然可以看到python的一个实例正在运行,并且url127.0.0.1:8000仍然可以从web浏览器访问。记住这些,我有以下问题
如何在应用程序关闭后停止Django服务器
目前,为了生孩子,我使用绝对路径,这是非常错误的。如何将其转换为相对路径并使用安装在虚拟环境文件夹(windows中的venv/Scripts/python)中的python实例运行服务器
在我的代码中,添加SIGNIT效果良好
mainWindow.on('closed', function() {
mainWindow = null;
py_process.kill('SIGINT');
});
我很想测试它,但项目需要这不是我现在正在积极工作。但这是为了提醒大家。如果我让它工作起来,我会把它标记为答案:)