【问题标题】:Python implementing simple web data storagePython实现简单的Web数据存储
【发布时间】:2014-03-05 18:11:36
【问题描述】:

我正在尝试开发一个 python PyQt 程序,允许用户输入有关个人详细信息的数据并在以后查看它们以进行处理。

该程序将由少于 5 人同时使用。所以,我正在考虑使用Sqlite3 数据库,因为我相信它应该能够应对如此多的流量。

我想到的框架是,客户将在每台机器上拥有自己的 python pyqt 程序副本。每当他们执行任何需要读取/写入数据的操作时,它将通过互联网连接到服务器并从服务器上的sqlite.db读取/写入。

基本上,服务器只是一个远程数据存储。

目前,我可以使用QlineEditQComboboxQTextEdit 等各种小部件为数据输入创建所需的GUI

但我以前从未做过网络编程,因此我不知道如何实现一个服务器来存储我的软件的 sqlite 数据文件。所以我的问题是

(1) 如果我有一台具有 24/7 互联网连接的 PC,我该如何设置它以便它可以充当存储我的软件数据文件的服务器?

(2)我的程序可以/应该以何种方式通过互联网与该服务器通信。

即使你不能给我确切的答案,如果你能提供一些信息,我将不胜感激,以便我查找和研究它。

我们将不胜感激任何建设性的建议。

仅供参考:所有 PC 都将运行 windows XP SP3 32 位。

【问题讨论】:

  • 鉴于您隐含的经验水平,我建议您放弃 qt 前端并构建一个基于 python 的 Web 应用程序。谷歌flask。那里有很多教程。
  • @Joel Cornett,出于好奇,访问服务器数据存储有那么困难吗?谢谢你的建议。我会看看flask

标签: python python-2.7 pyqt pyqt4 web-storage


【解决方案1】:

客户端与服务器通信有多种方式。

你可以使用

  1. XMLRPC 使用在服务器端调用的方法创建对象

  2. 您可以将 HTTP 和 REST 用于服务器,将库 requests or urllib 用于客户端

  3. 对于后者,您可以使用 flask、bottle、django 或其他框架来创建一个提供内容的网站 (tutorials)

  4. 您可以使用Pyro 远程访问服务器上的对象。如果客户端也应该相互通信,这很有用。

  5. 您可以创建自己的协议。您将学到很多东西并重视其他选择。

  6. 列表不完整

如果合适的话,我建议你看看 XMLRPC。对于第 2 点,我可以说许多 API 使用这样的 HTTP 接口(twitter、github、facebook、google)。其他人也很容易使用。

安全很重要。我不是专家。如果您以纯文本形式发送用户名和密码,则使用 SSL 加密连接。如果你无法让 ssl 与 python 一起工作,你可以使用stunnel

【讨论】:

    猜你喜欢
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多