python在不用框架的情况下如何写网站后台?

python在不用框架的情况下如何写网站后台回复内容:
python标准库中的basehttpserver适合你,阅读下源码你就知道了
django的翻译文档有这么一段话:如果你曾编写过网络应用程序。 那么你很有可能熟悉之前我们的 cgi 例子。从头开始编写网络应用程序。从头编写另一个网络应用程序。从第一步中总结(找出其中通用的代码),并运用在第二步中。重构代码使得能在第 2 个程序中使用第 1 个程序中的通用代码。重复 2-4 步骤若干次。意识到你发明了一个框架。这正是为什么 django 建立的原因!你不用框架最后还不是得实现框架,是吧。何必重复造轮子,当然如果是将马车升级为汽车,那就不是造轮子了。可以去看看廖雪峰的教程,他就是自己实现的框架,还有例程很详细
推荐 python教程 – 廖雪峰的官方网站 别说你不用框架的情况下读了这个能写,连还不懂 python 读完都能写。
看看这个a do-it-yourself framework
可以尝试使用 wsgi,类似 java 的 servlet ,只是定义了一套框架与服务器交互的接口规范,参考 pep 333 — python web server gateway interface v1.0写出来最简单的应用是这样的:

def simple_app(environ, start_response):
status = ‘200 ok’
response_headers = [(‘content-type’, ‘text/plain’)]
start_response(status, response_headers)
return [‘hello world!\n’]

python自带cgi库,就叫cgi写法类似几十年前的perl写网站。你需要自己处理session、cookie,以及url routing。性能也是不行的:每个http请求对应一次python脚本执行。学习一下可以,不要自虐了。php可以这么干是因为php本身除了语言之外还有一个随语言自带的web framework(见过哪个语言有session_start类似的函数?)
flask、bottle、tornado这种微框架也不行么?那werkzeug呢?比如uwsgi+werkzeug+自己实现wsgi applicationflask不就是包装werkzeug的wsgi application么再加个按需指定的数据库模块、session模块什么的werkzeug也嫌大的话,那需要实现的东西就有点多了吧,http解析、url解析、url route等等,那就有点划不来了吧
cgi?
实现wsgi即可,但。。。你真的不需要框架吗
怎么可能不用框架,早晚你都会自己写出一个框架

Posted in 未分类

发表评论