CherryPy - 演示应用程序


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

考虑将Photoblog应用程序作为 CherryPy 的演示应用程序。照片博客应用程序是一个普通的博客,但主要文本将是照片而不是文本。Photoblog应用程序的主要优点是开发人员可以更加专注于设计和实现。

基本结构——实体设计

这些实体设计应用程序的基本结构。以下是照片博客应用程序的实体 -

  • 电影
  • 照片
  • 专辑

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

基本结构

设计结构

正如上一章所讨论的,该项目的设计结构将如以下屏幕截图所示 -

设计结构

考虑给定的应用程序,它具有 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 对象。

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

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