Web2py-framework-overview

提供:Dev Guides
移動先:案内検索

Web2py-フレームワークの概要

web2pyは、開発者がWebアプリケーションを完全に開発するために使用できるフルスタックWebフレームワークです。 プログラムを設計するためのSQLデータベース統合とマルチスレッドWebサーバーが含まれています。

ユーザーのプログラムを設計するためのWebインターフェイス

オペレーティングシステムごとにコマンドが実行されると、web2pyはスタートアップウィンドウを表示し、ユーザーに選択を求めるGUIウィジェットを表示します-

  • ワンタイム管理者パスワード、
  • Webサーバーに使用されるネットワークインターフェイスのIPアドレス、
  • リクエストを処理するポート番号。

管理者には、新しいWebアプリケーションを追加および編集するためのすべての権限が含まれています。

デフォルトでは、web2pyはWebサーバーを 127.0.0.1:8000 (localhostのポート8000​​)で実行しますが、ユーザーは要件に従って任意の使用可能なIPアドレスとポートで実行できます。

以下に示すように、web2py GUIウィジェットが表示されます。

GUIウィジェット

パスワードは、新しいモジュールの変更のために管理インターフェースで使用されます。

ユーザーが管理パスワードを設定した後、web2pyは次のURLを持つページでWebブラウザを起動します- http://127.0.0.1:8000/

以下に示すように、フレームワークのウェルカムページが表示されます。

フレームワーク

web2pyで基本プログラムを設計する

上記のURLを使用してweb2pyアプリケーションを起動すると、管理インターフェイスを使用して、新しいモジュール(*“ helloWorld” *など)を作成できます。

管理者は新しいWebアプリケーションを追加および編集するためのすべての権限を保持しているため、管理インターフェイスは認証目的でパスワードを要求します。

Web2pyアプリケーション

上記のスナップショットには、インストールされているすべてのweb2pyアプリケーションがリストされ、管理者がそれらを管理できるページの詳細が含まれています。 デフォルトでは、web2pyフレームワークには3つのアプリケーションが付属しています。 彼らは-

  • ユーザーが現在実装している admin アプリケーション。
  • オンラインのインタラクティブなドキュメントとweb2py公式ウェブサイトのインスタンスを含む examples アプリケーション。
  • ようこそ*アプリケーション。 他のweb2pyアプリケーション用の基本テンプレートが含まれています。 *scaffolding application としても知られています。 このアプリケーションは、スタートアップのユーザーも歓迎します。

新しいアプリケーションの名前を*“ helloWorld” *にします。

新しいアプリケーションが作成されると、ユーザーはそれぞれのアプリケーションのビュー、モデル、コントローラーで構成されるページにリダイレクトされます。

アプリケーションの編集

ユーザーは、次のURLに言及することにより、新しく作成されたアプリケーションを見ることができます- http://127.0.0.1:8000/helloWorld

デフォルトでは、ユーザーは上記のURLにアクセスすると次の画面を表示できます。

指定されたWebアプリケーション*「helloWorld」のメッセージを印刷するために、 *default.py コントローラーで変更が行われます。

Webアプリケーション

“ index” *という名前の関数は、値を返し、必要な出力を表示するためのデフォルトの関数です。 上記のように、文字列「Hello World-最初のWebアプリケーションへようこそ」*が戻り値として使用され、出力が画面に表示されます。

出力は次のように表示されます-

出力

ポストバック

フォームの入力を検証するメカニズムは非常に一般的であり、このような優れたプログラミング手法とは見なされません。 入力は毎回検証されますが、これは検証の負担となります。

web2pyのより良いパターンは、フォームを生成する同じアクションにフォームを送信することです。 このメカニズムは、web2pyの主な機能である「ポストバック」*と呼ばれます。 要するに、自己投稿は*ポストバック*で達成されます。

def first():
   if request.vars.visitor_name: #if visitor name exists
      session.visitor_name = request.vars.visitor_name
      redirect(URL('second'))#postback is implemented
   return dict()

CRUDアプリケーション

web2pyには、作成、取得、更新、削除の機能を実行するアプリケーションが含まれています。 CRUD サイクルは、永続的なデータベースの要素機能を記述します。

すべてのアプリケーションロジックはモデルで記述され、コントローラーによって取得され、ビューの助けを借りてユーザーに表示されます。

appadmin

PHPの場合、アプリケーションサーバーには、 phpmyadmin の下にすべてのデータベースのリストが含まれます。 同様に、web2pyは、テーブルまたはデータベースを管理、作成、削除するためのインターフェースを提供します。これは*「appadmin」*と呼ばれます

テーブルの背後にあるロジックを実装する前に、データベースとその関連テーブルを作成する必要があります。

*appadmin* にアクセスするためのURL-
*http://127.0.0.1:8000/applicationname/appadmin*

URLを押すと、ユーザーは特定のアプリケーションに関連付けられたテーブルのリストを取得します。

テーブルのリスト

このインターフェースは、公開されることを意図していません。 データベースに簡単にアクセスできるように設計されています。 これは、2つのファイル、つまりコントローラ*「appadmin.py」とビュー「appadminl」*で構成されます。

一度に最大100件のレコードをページ分割できます。 *「appadmin」*の使用法については、以降の章で説明します。