使用Python的简单动态Web应用程序



我将如何编写一个简单的Web应用程序基本上看起来像这样(实际上,它没有,但我能够一旦我正确完成以下部分,就可以从那里找到我的路):

  1. 用户登录(即我需要某种身份验证)。
  2. 用户输入一个数字。
  3. 每隔 X 秒,服务器计算所有在前 X 秒内输入的数字。
  4. 向用户显示平均值。
  5. 数量最接近平均值的(唯一)用户获得 +1他的分数账户。

对于服务器端脚本,我想使用Python。对于数据库访问,我将使用 SQLAlchemy。服务器是 Apache。假设我使用以下字段设置了数据库:用户名、密码(散列)、分数。我知道怎么做(2),(4)和(5)。对于(4)我可能会使用XMLHttpRequest,尽管我不确定这是否是最好的解决方案。由于我的最终应用程序无论如何都需要JavaScript,XMLHttpRequest 应该没问题。

@(1)我想我可以使用Python中的" Cookie"模块找到解决方案, 但我不知道这是否是正确的方法。 那么,什么是简单但安全的会话管理方法呢?

@(3)这是我正在努力解决的主要问题。 我已经研究了"套接字"模块,但我不确定这是否 适合该任务。显然,我需要有一些循环,例如

  1. 收听 X 秒并收集所有数字
  2. 计算平均值,确定最接近的用户
  3. 更新用户帐户

我不关心的一件事是符合旧浏览器或IE。

你能推荐一些我应该研究甚至提供的东西吗一些代码?

好的,首先,您需要将Python连接到apache - 为此我建议您mod_wsgi。

然后到步骤 1 - 您可以创建自己的 Web 表单并向用户查询密码,并为其设置 cookie 以记住他们的会话(您可以将活动会话存储在数据库中或使用一些加密技巧将其保存在 cookie 中)。

关于其他功能,你只需要在python后端和前端之间进行良好的通信 - 我建议在前端使用jQuery,它可以解析来自应用程序的XML,或者如果它真的很简单,只需输出字符串并让webapp获取它。

在进入最终实现之前,我建议您先学习一个 AJAX 教程,该教程似乎很好地涵盖了基础知识,您可以使用内置服务器进行调试,而无需打扰 apache 设置。

或者,您可以使用框架(例如非常轻量级的瓶子),这将为您节省大量时间。

此外,关于您正在努力的事情 - 您实际上不需要守护程序检查,因为每次访问都可以计算数据 - 只需确保使用时间戳存储您的提交即可。另外,您没有说如果在过去 X 秒的时间范围内没有提交会发生什么 - 正确答案为零吗?

最后,这似乎是一个相当"动态"的应用程序 - 您将如何确保没有竞争条件?如果不采取一些特殊的预防措施,可能很难在高流量环境中获得可靠的结果。

相关内容

  • 没有找到相关文章

最新更新