CherryPy-デモアプリケーション
この章では、CherryPyフレームワークでアプリケーションを作成する方法に焦点を当てます。
検討する PhotoblogCherryPyのデモアプリケーション用のアプリケーション。Photoblogアプリケーションは通常のブログですが、主要なテキストはテキストではなく写真になります。Photoblogアプリケーションの主な特徴は、開発者が設計と実装により集中できることです。
基本構造–エンティティの設計
エンティティは、アプリケーションの基本構造を設計します。以下は、Photoblogアプリケーションのエンティティです-
- Film
- Photo
- Album
以下は、実体関連の基本的なクラス図です。
設計構造
前の章で説明したように、プロジェクトの設計構造は次のスクリーンショットのようになります-
Photoblogアプリケーションのサブディレクトリがある特定のアプリケーションについて考えてみます。サブディレクトリはPhoto、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())
上記のコードの領域は、基盤となるストレージマネージャーとビジネスロジックレイヤーの間のインターフェイスになります。
接続機能は、PostgreSQLRDBMSのアリーナオブジェクトにストレージマネージャーを追加します。
接続が取得されると、ビジネス要件に従ってフォームを作成し、アプリケーションの作業を完了することができます。
アプリケーションを作成する前に最も重要なことは entity mapping アプリケーションの構造を設計します。