如何在Python中创建服务器端服务来处理来自Web和移动应用程序的HTTP请求?

时间:2014-07-22 04:10:01

标签: python django web-applications server-side web-development-server

假设我想在服务器上运行的Python中创建服务

  1. 接收来自网络/移动应用的HTTP请求
  2. 从中型数据库中读取数据
  3. 以JSON
  4. 计算并返回结果

    ~~~~~~~~~~~~ Python API

    class BlackBox():

       def getResults(...):
       ....
    

    ~~~~~~~~~~~~

    我的问题是:我必须知道的其他内容是什么?

    我做了一些研究,似乎人们谈论了很多关于Django但我不确定它是否是一个不错的选择。 Django的优点和缺点是什么?

2 个答案:

答案 0 :(得分:0)

这个问题的答案可能往往是相当主观的,但你可能想要的是某种web framework。 Web框架的典型功能包括:

  • 路由 - 让您轻松将网址('www.example.com','www.example.com/blog')映射到Python代码逻辑。
  • 模板引擎 - 让我们可以轻松地将Python代码导入HTML页面,根据数据库内容生成页面等。
  • 数据库访问 - 非常明显。用于存储您的数据。
django非常棒且非常受欢迎。 PyramidFlask也很受欢迎。

我对Flask有很多经验并且强烈推荐它。它不直接包含数据库支持,但您可以选择任何您想要的方式。 SQLAlchemy,SQLite和MongoDB将是您想要查看的内容。

答案 1 :(得分:0)

如果你想了解每个可以组合起来的python模块,我会说Flask。如果您熟悉Python,那么您将在周末学习它的基础知识。从http请求一直到JSON序列化的步骤更容易。

另一方面,Django功能更全面,并且已经捆绑到框架中的所有这些东西,所以你不必安装和导入它们。它可能需要更多的时间来学习它,但Django目前是这两个中最具生产能力的。

至于你需要知道的事情..如果你还没有,你必须学习一些基本的 HTML和CSS 。当你编写模板(基本上是尚未被python修改过的HTML文件)时你需要它,你必须要理解模型 - 视图 - 控制器的概念,但你会知道你学习了这个框架。

但老实说,正如之前提到过的人,试试吧。即使你不打算这样做,你最终也会学到所有这些。