Web2py-はじめに
web2pyデータベース駆動型Webアプリケーションを含むアジャイル開発のための無料のオープンソースWebフレームワークとして定義されています。Pythonで記述され、Pythonでプログラム可能です。これはフルスタックフレームワークです。必要なすべてのコンポーネントで構成されているため、開発者は完全に機能するWebアプリケーションを構築する必要があります。
web2py フレームワークは Model-View-Controller 従来のパターンとは異なり、実行中のWebアプリケーションのパターン。
Modelデータのロジックを含むアプリケーションの一部です。モデル内のオブジェクトは、データベースからデータを取得して保存するために使用されます。
Viewはアプリケーションの一部であり、エンドユーザーにデータを表示するのに役立ちます。データの表示はモデルから取得されます。
Controllerはアプリケーションの一部であり、ユーザーの操作を処理します。コントローラーは、ビューからデータを読み取り、ユーザー入力を制御し、入力データを特定のモデルに送信できます。
web2pyCookieとセッションを管理する機能が組み込まれています。(SQLの観点から)トランザクションをコミットした後、セッションも同時に保存されます。
web2py特定のアクションの完了後、スケジュールされた間隔でタスクを実行する能力があります。これはで達成することができますCRON。
web2py –ワークフロー
以下のワークフロー図をご覧ください。
ワークフロー図を以下に説明します。
ザ・ Models、 Views そして Controller コンポーネントはユーザーweb2pyアプリケーションを構成します。
web2pyの同じインスタンスで複数のアプリケーションをホストできます。
ブラウザはHTTPリクエストをサーバーに送信し、サーバーは Model、 Controller そして 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 |