CherryPy - 演示应用程序



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

考虑使用Photoblog应用程序作为 CherryPy 的演示应用程序。Photoblog 应用程序是一个普通的博客,但主要文本将由照片代替文字。Photoblog 应用程序的主要优势在于开发者可以更专注于设计和实现。

基本结构 – 实体设计

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

  • 胶卷 (Film)
  • 照片 (Photo)
  • 相册 (Album)

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

Basic Structure

设计结构

正如上一章所述,项目的结构设计如下截图所示:

Design Structure

考虑给定的应用程序,它具有 Photoblog 应用程序的子目录。子目录为 Photo、Album 和 Film,其中包含 controllers.py、models.py 和 server.py。

从功能上讲,Photoblog 应用程序将提供 API,通过传统的 CRUD 接口(创建、检索、更新和删除)来操作这些实体。

数据库连接

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

作为一个完整的应用程序,与数据库的连接对于 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())

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

connect 函数为 PostgreSQL RDBMS 向 arena 对象添加了一个存储管理器。

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

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

广告