CherryPy - 演示应用程序

在本章中,我们将重点介绍如何在 CherryPy 框架中创建应用程序。

考虑将 Photoblog 应用程序用于 CherryPy 的演示应用程序。 Photoblog 应用程序是一个普通的博客,但主要文本将是照片代替文本。Photoblog 应用程序的主要功能是开发人员可以更专注于设计和实现。

基本结构 - 实体设计

实体设计应用程序的基本结构。以下是 Photoblog 应用程序的实体 -

  • 电影
  • 照片
  • 专辑

以下是实体关系的基本类图 -

基本结构

设计结构

如前一章所述,项目的设计结构如下图所示 -

设计结构

考虑给定的应用程序,它具有 Photoblog 应用程序的子目录。子目录是 Photo,Album 和 Film,其中包括 controllers.pymodels.pyserver.py

从功能上讲,Photoblog 应用程序通过传统的 CRUD 界面来提供 API - 创建,检索,更新和删除来操纵这些实体。

连接到数据库

存储模块包括一组操作; 与数据库的连接是其中一个操作。

由于它是一个完整的应用程序,因此 API 必须与数据库建立连接,并保持 CreateRetrieveUpdateDelete 的功能。

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())

上面代码中的 arena 将是底层存储管理器和业务逻辑层之间的接口。

connect 函数将存储管理器添加到 PostgreSQL RDBMS 的 arena 对象。

一旦获得连接,我们就可以根据业务需求创建表单并完成应用程序的工作。

在创建任何应用程序之前,最重要的是实体映射和设计应用程序的结构。