Web2py-はじめに

web2pyデータベース駆動型Webアプリケーションを含むアジャイル開発のための無料のオープンソースWebフレームワークとして定義されています。Pythonで記述され、Pythonでプログラム可能です。これはフルスタックフレームワークです。必要なすべてのコンポーネントで構成されているため、開発者は完全に機能するWebアプリケーションを構築する必要があります。

web2py フレームワークは Model-View-Controller 従来のパターンとは異なり、実行中のWebアプリケーションのパターン。

  • Modelデータのロジックを含むアプリケーションの一部です。モデル内のオブジェクトは、データベースからデータを取得して保存するために使用されます。

  • Viewはアプリケーションの一部であり、エンドユーザーにデータを表示するのに役立ちます。データの表示はモデルから取得されます。

  • Controllerはアプリケーションの一部であり、ユーザーの操作を処理します。コントローラーは、ビューからデータを読み取り、ユーザー入力を制御し、入力データを特定のモデルに送信できます。

  • web2pyCookieとセッションを管理する機能が組み込まれています。(SQLの観点から)トランザクションをコミットした後、セッションも同時に保存されます。

  • web2py特定のアクションの完了後、スケジュールされた間隔でタスクを実行する能力があります。これはで達成することができますCRON

web2py –ワークフロー

以下のワークフロー図をご覧ください。

ワークフロー図を以下に説明します。

  • ザ・ ModelsViews そして Controller コンポーネントはユーザーweb2pyアプリケーションを構成します。

  • web2pyの同じインスタンスで複数のアプリケーションをホストできます。

  • ブラウザはHTTPリクエストをサーバーに送信し、サーバーは ModelController そして View 必要な出力をフェッチします。

  • 矢印は、データベースエンジンとの通信を表しています。データベースクエリは、生のSQLで、またはweb2pyデータベース抽象化レイヤー(以降の章で説明します)を使用して記述できます。web2py アプリケーションコードは、データベースエンジンから独立しています。

  • Model データベースとのデータベース接続を確立し、 Controller。ザ・Controller 一方、と相互作用します View データの表示をレンダリングします。

  • ザ・ DispatcherHTTP応答で指定された要求されたURLをコントローラーの関数呼び出しにマップします。関数の出力は、文字列またはハッシュテーブルにすることができます。

  • データはによってレンダリングされます View。ユーザーがHTMLページ(デフォルト)を要求すると、データはHTMLページにレンダリングされます。ユーザーがXMLで同じページを要求すると、web2pyは辞書をXMLでレンダリングできるビューを見つけようとします。

  • web2pyでサポートされているプロトコルには、HTML、XML、JSON、RSS、CSV、およびRTFが含まれます。

Model-View-Controller

ザ・ model-view-controller web2pyの表現は次のとおりです-

モデル

"db.py" is the model:
db = DAL('sqlite://storage.sqlite')
db.define_table(employee, Field('name'), Field(‘phone’))

ザ・ Modelアプリケーションデータのロジックが含まれています。上図のようにデータベースに接続します。SQLiteが使用されており、に保存されていることを考慮してくださいstorage.sqlite従業員として定義されたテーブルを持つファイル。テーブルが存在しない場合、web2pyはそれぞれのテーブルを作成するのに役立ちます。

コントローラ

プログラム "default.py" それは Controller

def employees():
   grid = SQLFORM.grid(db.contact, user_signature = False)
   return locals()

web2py、URLマッピングは、関数とモジュールへのアクセスに役立ちます。上記の例では、コントローラーには、employeesと呼ばれる単一の関数(または「アクション」)が含まれています。

によって取られたアクション Controller 文字列またはPython辞書を返します。これは、変数のローカルセットを含むキーと値の組み合わせです。

見る

"default/contacts.html" それは View

{{extend 'layout.html'}}
<h1>Manage My Employees</h1>
{{=grid}}

与えられた例では、 View 関連するコントローラ機能が実行された後の出力を表示します。

これの目的 ViewHTML形式の辞書で変数をレンダリングすることです。ザ・View ファイルはHTMLで書かれていますが、Pythonコードが埋め込まれています。 {{ and }} 区切り文字。

HTMLに埋め込まれたコードは、辞書内のPythonコードで構成されています。

web2pyから始める

web2py Windows、UNIX、Mac OSXなどのすべての主要なオペレーティングシステム用のバイナリパッケージで提供されます。

-web2pyのインストールは簡単です。

  • Pythonインタープリターで構成されているため、プリインストールする必要はありません。すべてのオペレーティングシステムで実行されるソースコードバージョンもあります。

  • 次のリンクは、のバイナリパッケージで構成されています。 web2pyユーザーのニーズに応じてダウンロードする-www.web2py.com

  • ザ・ web2pyフレームワークは、他のフレームワークとは異なり、プレインストールを必要としません。ユーザーは、オペレーティングシステムの要件に従って、zipファイルをダウンロードして解凍する必要があります。

  • ザ・ web2py フレームワークはPythonで記述されています。これは、実行するためにコンパイルや複雑なインストールを必要としない完全な動的言語です。

  • Javaや.netなどの他のプログラミング言語と同様に仮想マシンを使用し、開発者が作成したソースコードを透過的にバイトコンパイルできます。

オペレーティング・システム コマンド
UnixおよびLinux(ソース配布) python web2py.py
OS X(バイナリ配布) web2py.appを開きます
Windows(バイナリweb2pyディストリビューション) web2py.exe
Windows(ソースweb2pyディストリビューション) c:/Python27/python.exe web2py.py