Kapitel 11. Blogbeiträge

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Dieses Kapitel ist der Implementierung der Hauptfunktion von Flasky gewidmet, die es Nutzern ermöglicht, Blogbeiträge zu lesen und zu schreiben. Hier lernst du einige neue Techniken für die Wiederverwendung von Templates, die Paginierung langer Listen von Artikeln und die Arbeit mit Rich Text.

Blog Post Submission und Anzeige

Um Blog-Posts zu unterstützen, ist ein neues Datenbankmodell erforderlich, das sie repräsentiert. Dieses Modell ist in Beispiel 11-1 dargestellt.

Beispiel 11-1. app/models.py: Post-Modell
class Post(db.Model):
    __tablename__ = 'posts'
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.Text)
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    author_id = db.Column(db.Integer, db.ForeignKey('users.id'))

class User(UserMixin, db.Model):
    # ...
    posts = db.relationship('Post', backref='author', lazy='dynamic')

Ein Blog-Post wird durch einen Body, einen Zeitstempel und eine eins-zu-viele-Beziehung aus dem User Modell dargestellt. Das Feld body ist mit dem Typ db.Text definiert, so dass es keine Begrenzung der Länge gibt.

Das Formular, das auf der Hauptseite der Anwendung angezeigt wird, ermöglicht es den Nutzern, einen Blogbeitrag zu schreiben. Dieses Formular ist sehr einfach; es enthält nur einen Textbereich, in den der Blogbeitrag eingegeben werden kann, und eine Schaltfläche ...

Get Flask Web Development, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.