2

私がやっている趣味のプロジェクトのためにweb2pyフレームワークを読んでいました。私は若い頃にPythonでプログラミングする方法を学んだので、それを理解しています。今のところ、私はPHP開発者ですが、ちょっと嫌いです。

私はちょうどこの疑問が浮かびます:バックエンドで「バニラ」Pythonを使用する方法はありますか?フレームワークのないPHPのようなバニラを意味します。テンプレートはそのようにどのように機能しますか?つまり、インデントとすべてで、それはちょっとポイントを逃します。

とにかく私はweb2pyを試していて、本当に気に入っています。

4

3 に答える 3

3

PHP によって素朴に奨励されているように、ロジック、コンテンツ、およびプレゼンテーションを混在させることは忌まわしいことです。これは優れた設計手法とは正反対であり、他の言語にインポートするべきではありません (PHP で使用することさえすべきではありません。ありがたいことに、一般的に PHP の世界はゆっくりとそれから遠ざかっています)。

Model-View-Controller (MVC)について学ぶ必要があります。MVCは、優れた現実世界の設計に関する最終的な言葉ではありませんが、最新の Web 開発プラクティスの重要な基盤を形成し、共通基盤または一種の共通語として機能します。アプリケーションのレイアウトについての議論。

ほとんどの場合、何らかの形式の Web フレームワーク、特にテンプレートを提供するものを使用する必要があります。web2py は悪い選択ではありません。他の一般的なフレームワークには、PylonsDjangoなどがあります。

ほとんどの Python Web フレームワークは非常にモジュール化されています。アプリ内のあらゆるものに完全に使用することも、断片的に使用することもできます。たとえば、Django の URL ディスパッチャーを使用するが、そのモデル/ORM は使用しない場合や、テンプレート エンジン以外のすべてを使用して、たとえばJinjaをプルする場合があります。それはあなた次第です。

選択したテンプレート エンジンを使用しながら、従来の CGI スクリプトを作成することもできます ( CGI モジュールを参照してください)。

これらすべてについて学び、自分に最適なものを見つける必要があります。しかし、すべきでないことの 1 つは、Python Web 開発を PHP のように扱うことです。

于 2010-08-08T09:53:39.550 に答える
2

それを行う理由はありません:)しかし、あなたが主張するなら、WSGIの上に書くことができます

バニラスタイルが気に入ったら、web.pyなどのマイクロフレームワークを試すことをお勧めします

于 2010-08-08T09:43:11.210 に答える
2

フレームワークなしでは、WSGI を使用します。これを行うには、次のように関数を記述しますapplication

def application(environment, start_response):
    start_response("200 OK", [('Content-Type', 'text/plain')])
    return "hello world"

environmentcgi 変数やその他のものを含みます。通常、アプリケーションは同じ呼び出し署名で他の関数を呼び出し、それぞれが要求処理の特定の側面を処理する一連の関数を取得します。

もちろん、独自のテンプレートを扱うのはあなたの責任です。それについては何も言語に組み込まれていません。

于 2010-08-08T09:49:23.477 に答える