Cherrypy-a-working-application
提供:Dev Guides
CherryPy-実用的なアプリケーション
フルスタックアプリケーションは、ファイルのコマンドまたは実行を介して新しいアプリケーションを作成する機能を提供します。
web2pyフレームワークのようなPythonアプリケーションを検討してください。プロジェクト/アプリケーション全体がMVCフレームワークの観点から作成されます。 同様に、CherryPyを使用すると、ユーザーは要件に従ってコードのレイアウトを設定および構成できます。
この章では、CherryPyアプリケーションを作成して実行する方法を詳細に学習します。
ファイルシステム
アプリケーションのファイルシステムは、次のスクリーンショットに示されています-
ここに私たちがファイルシステムに持っているさまざまなファイルの簡単な説明があります-
- config.py -すべてのアプリケーションには設定ファイルとそれをロードする方法が必要です。 この機能はconfig.pyで定義できます。
- controllers.py -MVCはユーザーに人気のあるデザインパターンです。 controllers.pyは、_cherrypy.tree_にマウントされるすべてのオブジェクトが実装される場所です。
- models.py -このファイルは、一部のサービスまたは永続データの保存のためにデータベースと直接やり取りします。
- server.py -このファイルは、ロードバランシングプロキシで適切に動作する本番対応Webサーバーと対話します。
- 静的-すべてのCSSおよび画像ファイルが含まれます。
- Views -特定のアプリケーションのすべてのテンプレートファイルが含まれます。
例
CherryPyアプリケーションを作成する手順を詳しく学びましょう。
- ステップ1 *-アプリケーションを含むアプリケーションを作成します。
- ステップ2 *-ディレクトリ内で、プロジェクトに対応するpythonパッケージを作成します。 geditディレクトリを作成し、init.pyファイルを同じディレクトリに含めます。
- ステップ3 *-パッケージ内に、次の内容のcontrollers.pyファイルを含めます-
- ステップ4 *-ユーザーがフォームを介して値を入力するアプリケーションを考えます。 アプリケーションにindexlとsubmitlの2つのフォームを含めましょう。
ステップ5 *-上記のコントローラーのコードには、 index()*があります。これはデフォルトの関数であり、特定のコントローラーが呼び出されると最初にロードされます。
ステップ6 *- index()*メソッドの実装は、次の方法で変更できます-
- ステップ7 *-これは、指定されたアプリケーションの起動時にindexlをロードし、指定された出力ストリームに送信します。 indexlファイルは次のとおりです-
インデックス
ステップ8 *-名前やタイトルなどの値を受け入れるフォームを作成する場合は、 *controller.py のRootクラスにメソッドを追加することが重要です。
- ステップ10 *-次の出力が表示されます-
ここでは、メソッド名は「POST」として定義されています。 ファイルで指定されたメソッドを相互検証することは常に重要です。 メソッドに「POST」メソッドが含まれる場合、データベースの適切なフィールドで値を再確認する必要があります。
メソッドに「GET」メソッドが含まれている場合、保存される値はURLに表示されます。