首页 > 后端开发 > Python教程 > python在不用框架的情况下如何写网站后台?

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

WBOY
发布: 2016-06-06 16:24:08
原创
1936 人浏览过

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

写出来最简单的应用是这样的:
<code class="language-python"><span class="k">def</span> <span class="nf">simple_app</span><span class="p">(</span><span class="n">environ</span><span class="p">,</span> <span class="n">start_response</span><span class="p">):</span>
    <span class="n">status</span> <span class="o">=</span> <span class="s">'200 OK'</span>
    <span class="n">response_headers</span> <span class="o">=</span> <span class="p">[(</span><span class="s">'Content-type'</span><span class="p">,</span> <span class="s">'text/plain'</span><span class="p">)]</span>
    <span class="n">start_response</span><span class="p">(</span><span class="n">status</span><span class="p">,</span> <span class="n">response_headers</span><span class="p">)</span>
    <span class="k">return</span> <span class="p">[</span><span class="s">'Hello world!</span><span class="se">\n</span><span class="s">'</span><span class="p">]</span>
</code>
登录后复制
Python自带CGI库,就叫cgi

写法类似几十年前的perl写网站。你需要自己处理session、cookie,以及URL routing。

性能也是不行的:每个http请求对应一次python脚本执行。

学习一下可以,不要自虐了。PHP可以这么干是因为PHP本身除了语言之外还有一个随语言自带的web framework(见过哪个语言有session_start类似的函数?) flask、bottle、tornado这种微框架也不行么?
那werkzeug呢?
比如uwsgi+werkzeug+自己实现wsgi application
flask不就是包装werkzeug的wsgi application么
再加个按需指定的数据库模块、session模块什么的

werkzeug也嫌大的话,那需要实现的东西就有点多了吧,http解析、url解析、url route等等,那就有点划不来了吧 CGI? 实现wsgi即可,但。。。你真的不需要框架吗 怎么可能不用框架,早晚你都会自己写出一个框架
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板