如何在Python中创建服务器端服务以处理来自 web 和移动应用的 HTTP 请求?
假设我想在服务器上用Python创建一个服务,主要做以下几件事:
- 接收来自网页或手机应用的HTTP请求
- 从一个中等规模的数据库中读取数据
- 计算并以JSON格式返回结果
~~~~~~~~~~~~ Python API
class BlackBox():
def getResults(...):
....
~~~~~~~~~~~~
我想问的是:我还需要了解哪些其他内容呢?
我做了一些研究,发现大家都在讨论Django,但我不太确定这是否是个好选择。Django的优缺点是什么呢?
2 个回答
0
如果你想了解可以用来搭建这个项目的每一个Python模块,我建议你使用Flask。如果你对Python有点了解,周末就能学会基本用法。这样的话,从处理HTTP请求到把数据转成JSON格式的步骤会更容易理解。
而Django则功能更全面,所有这些功能都已经打包在框架里,所以你不需要单独安装和导入它们。虽然学习Django可能需要更多时间,但目前来说,Django是这两个框架中更适合实际应用的。
至于你需要了解的东西……如果你还没学过一些基本的HTML和CSS,那你得先学一下。这些知识在你写模板时会用到(模板其实就是还没被Python修改的HTML文件),你还需要理解模型-视图-控制器(Model-View-Controller)的概念,不过在学习框架的过程中你会慢慢掌握这些。
不过说实话,正如之前有人提到的,试试看吧。即使你不打算学,你也会在过程中学到这些知识。
0
这个问题的答案可能会有些主观,但你可能想要的是某种网络框架。网络框架通常包含以下一些功能:
- 路由 - 让你可以轻松地把网址(比如 'www.example.com' 或 'www.example.com/blog')和Python代码逻辑对应起来。
- 模板引擎 - 让你可以轻松地把Python代码嵌入到HTML页面中,用于根据数据库内容生成页面等。
- 数据库访问 - 这很明显,就是用来存储你的数据。
django非常棒,而且很受欢迎。Pyramid和Flask也都很流行。
我对Flask有不少经验,强烈推荐它。虽然Flask本身不直接支持数据库,但这样你可以选择你想要的数据库。你可以考虑SQLAlchemy、SQLite和MongoDB。