我开始使用Electron并且拥有Python和Django的一些经验。这就是我想要实现的目标,
我所知道的,
我有知识(虽然有限),
Another article讨论在Electron中运行Haskell服务器。从这开始,我尝试通过以下实现来适应django,但我再次拒绝错误连接,这很可能是由于服务器无法运行,
function createBackendServer () {
backendServer=child_process.spawn([path/to/venv/python],['manage.py','runserver'])}
有了这个,我的成功有限。我已经能够运行Django服务器,但我无法杀死服务器。为此,我使用了以下代码,
`app.on('will-quit', function() {
backendServer.kill()
})`
还有,
`app.on('window-all-closed', function () {
if (process.platform !== 'darwin') {
app.quit()
backendServer.kill()
}
})`
这些似乎都不起作用,因为我仍然可以看到python运行的实例,并且仍然可以从Web浏览器访问URL 127.0.0.1:8000
。牢记这一切,我有以下问题,
答案 0 :(得分:0)
在我的代码中添加 SIGNIT 效果很好
mainWindow.on('closed', function() {
mainWindow = null;
py_process.kill('SIGINT');
});