CherryPy - 演示应用程序
在本章中,我们将重点介绍如何在 CherryPy 框架中创建应用程序。
考虑将 Photoblog
应用程序用于 CherryPy 的演示应用程序。 Photoblog
应用程序是一个普通的博客,但主要文本将是照片代替文本。Photoblog
应用程序的主要功能是开发人员可以更专注于设计和实现。
基本结构 - 实体设计
实体设计应用程序的基本结构。以下是 Photoblog 应用程序的实体 -
- 电影
- 照片
- 专辑
以下是实体关系的基本类图 -
设计结构
如前一章所述,项目的设计结构如下图所示 -
考虑给定的应用程序,它具有 Photoblog 应用程序的子目录。子目录是 Photo,Album 和 Film,其中包括 controllers.py
,models.py
和 server.py
。
从功能上讲,Photoblog 应用程序通过传统的 CRUD 界面来提供 API - 创建,检索,更新和删除来操纵这些实体。
连接到数据库
存储模块包括一组操作; 与数据库的连接是其中一个操作。
由于它是一个完整的应用程序,因此 API 必须与数据库建立连接,并保持 Create
,Retrieve
,Update
和 Delete
的功能。
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
对象。
一旦获得连接,我们就可以根据业务需求创建表单并完成应用程序的工作。
在创建任何应用程序之前,最重要的是实体映射和设计应用程序的结构。