Cherrypy-demo-application
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のアリーナオブジェクトにストレージマネージャーを追加します。
接続が取得されると、ビジネス要件に従ってフォームを作成し、アプリケーションの動作を完了することができます。
アプリケーションを作成する前に最も重要なことは、*エンティティマッピング*とアプリケーションの構造の設計です。