【发布时间】:2014-08-22 10:35:58
【问题描述】:
我对将桌面应用程序转换为 Web 应用程序时应考虑哪些因素感到困惑。我们有一个用 Python 编写的桌面应用程序,它使用用于 GUI 的 wxPython 库,它是一个非常传统的应用程序,它设置主窗口并调用 app.Mainloop() 方法来维持 GUI 并响应事件。应用程序本身是一个配置实用程序,它只接受文件并允许用户对其进行配置。自然,程序会跟踪所做的所有更改并根据这些更改响应事件。
我打算使用托管在 Apache 服务器上的 Django 框架将这个实用程序作为大型应用程序的一部分提供,并希望许多用户同时使用它。一旦我按预期删除了app.MainLoop() 指令,运行应用程序只需通过代码一次并退出。这显然不是我需要的,应用程序需要记住状态。
到目前为止,我已经开始从应用程序的核心中识别和分离所有 GUI 代码,以便我可以有效地重用核心,并决定使用 jQuery 等框架在 JavaScript 中编写 UI 来处理 GUI 事件等。存储状态的两个明显选项是sessions 和databases,但在形成这一切将如何工作的大图时我有点卡住了。就 Django 视图而言,请求之间会发生什么?如果有人能对整个工作流程有所了解,我将不胜感激。
谢谢。
【问题讨论】:
-
对于 SO 来说,这个话题实在是太宽泛了。无论如何:您似乎对 HTTP 协议以及 Web 应用程序与传统 GUI 应用程序的区别没有清晰的了解。为了解决您的最后一个问题(“就 Django 视图而言,请求之间会发生什么”),答案很简单:绝对没有,服务器只会等待下一个请求。
标签: python django apache web-applications desktop-application