Cherrypy-demo-application

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

CherryPy-デモアプリケーション

この章では、CherryPyフレームワークでのアプリケーションの作成方法に焦点を当てます。

CherryPyのデモアプリケーション用の Photoblog アプリケーションを検討してください。 Photoblogアプリケーションは通常のブログですが、主要なテキストはテキストの代わりに写真になります。 Photoblogアプリケーションの主な欠点は、開発者が設計と実装にもっと集中できることです。

基本構造–エンティティの設計

エンティティは、アプリケーションの基本構造を設計します。 以下は、フォトブログアプリケーションのエンティティです-

  • Film
  • 写真
  • アルバム

以下は、エンティティの関係の基本的なクラス図です-

基本構造

設計構造

前の章で説明したように、プロジェクトの設計構造は、次のスクリーンショットに示すようになります-

デザイン構造

Photoblogアプリケーションのサブディレクトリがある特定のアプリケーションを検討してください。 サブディレクトリは、photos、Album、Filmで、controllers.py、models.py、server.pyが含まれます。

機能的には、Photoblogアプリケーションは、作成、取得、更新、削除といった従来のCRUDインターフェイスを介してこれらのエンティティを操作するAPIを提供します。

データベースへの接続

ストレージモジュールには一連の操作が含まれます。操作の1つであるデータベースとの接続。

完全なアプリケーションであるため、データベースとの接続は、API、および作成、取得、更新、削除の機能を維持するために必須です。

import dejavu

arena = dejavu.Arena()
from model import Album, Film, Photo
def connect():

conf = {'Connect': "host=localhost dbname=Photoblog user=test password=test"}
arena.add_store("main", "postgres", conf)
arena.register_all(globals())

上記のコードの領域は、基盤となるストレージマネージャーとビジネスロジック層の間のインターフェイスになります。

接続関数は、PostgreSQL RDBMSのアリーナオブジェクトにストレージマネージャーを追加します。

接続が取得されると、ビジネス要件に従ってフォームを作成し、アプリケーションの動作を完了することができます。

アプリケーションを作成する前に最も重要なことは、*エンティティマッピング*とアプリケーションの構造の設計です。