ホームページ > バックエンド開発 > Python チュートリアル > python在不用框架的情况下如何写网站后台?

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

WBOY
リリース: 2016-06-06 16:24:08
オリジナル
1937 人が閲覧しました

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート