CherryPy - แอปพลิเคชันสาธิต

ในบทนี้เราจะเน้นไปที่การสร้างแอปพลิเคชันในกรอบ CherryPy

พิจารณา Photoblogแอปพลิเคชันสำหรับแอปพลิเคชั่นสาธิต CherryPy แอปพลิเคชัน Photoblog เป็นบล็อกปกติ แต่ข้อความหลักจะเป็นรูปถ่ายแทนข้อความ ข้อสังเกตหลักของแอปพลิเคชัน Photoblog คือผู้พัฒนาสามารถมุ่งเน้นไปที่การออกแบบและการใช้งานได้มากขึ้น

โครงสร้างพื้นฐาน - การออกแบบเอนทิตี

เอนทิตีออกแบบโครงสร้างพื้นฐานของแอปพลิเคชัน ต่อไปนี้เป็นเอนทิตีสำหรับแอปพลิเคชัน Photoblog -

  • Film
  • Photo
  • Album

ต่อไปนี้เป็นแผนภาพคลาสพื้นฐานสำหรับความสัมพันธ์ของเอนทิตี -

โครงสร้างการออกแบบ

ตามที่กล่าวไว้ในบทที่แล้วโครงสร้างการออกแบบของโครงการจะเป็นดังที่แสดงในภาพหน้าจอต่อไปนี้ -

พิจารณาแอปพลิเคชันที่กำหนดซึ่งมีไดเร็กทอรีย่อยสำหรับแอปพลิเคชัน Photoblog ไดเรกทอรีย่อย ได้แก่ รูปภาพอัลบั้มและภาพยนตร์ซึ่งจะรวมถึง controllers.py, models.py และ server.py

ในทางปฏิบัติแอปพลิเคชัน Photoblog จะจัดเตรียม API เพื่อจัดการเอนทิตีเหล่านั้นผ่านอินเทอร์เฟซ CRUD แบบเดิม - สร้างเรียกคืนอัปเดตและลบ

การเชื่อมต่อกับฐานข้อมูล

โมดูลการจัดเก็บประกอบด้วยชุดการทำงาน การเชื่อมต่อกับฐานข้อมูลเป็นหนึ่งในการดำเนินการ

เนื่องจากเป็นแอปพลิเคชันที่สมบูรณ์การเชื่อมต่อกับฐานข้อมูลจึงเป็นสิ่งจำเป็นสำหรับ 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())

เวทีในโค้ดด้านบนจะเป็นส่วนต่อประสานระหว่างผู้จัดการหน่วยเก็บข้อมูลพื้นฐานและเลเยอร์ตรรกะทางธุรกิจ

ฟังก์ชันการเชื่อมต่อจะเพิ่มตัวจัดการหน่วยเก็บข้อมูลให้กับออบเจ็กต์อารีน่าสำหรับ PostgreSQL RDBMS

เมื่อได้รับการเชื่อมต่อแล้วเราสามารถสร้างแบบฟอร์มตามความต้องการทางธุรกิจและดำเนินการสมัคร

สิ่งที่สำคัญที่สุดก่อนที่จะสร้างแอปพลิเคชันใด ๆ คือ entity mapping และออกแบบโครงสร้างของแอปพลิเคชัน