Personalisierte Einladungen erstellen

Erstelle einen wiederverwendbaren Python-Generator, der Gäste-CSV, Veranstaltungsdaten und eine Vorlage in einzelne HTML-Einladungen mit korrektem Text umwandelt und frühere Stapel erhält.

ProjektPython

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Personalisierte Einladungen erstellen ist ein praktisches Python-Projekt für Lernende, die die Sprachgrundlagen kennen und strukturierte Daten in nützliche Dateien umwandeln möchten. Du kombinierst eine Gästeliste, Veranstaltungsdaten und eine vorbereitete HTML-Vorlage, um für jeden Gast eine eigene digitale Einladung zum Öffnen und Herunterladen zu erzeugen.

Ein angeleitetes Lab führt dich von einer einzelnen Einladung zu einem wiederverwendbaren Stapelgenerator. In einer eigenständigen Challenge erstellst du mit denselben Techniken Einladungen für eine andere Veranstaltung. Jede Einheit beginnt mit eigenen vorbereiteten Dateien.

Was du lernen wirst

Nach diesem Kurs kannst du:

  • eine UTF-8-Gästeliste im CSV-Format mit csv.DictReader und Veranstaltungsdaten aus JSON lesen;
  • Gäste- und Veranstaltungsfelder den sechs Textplatzhaltern einer string.Template zuordnen;
  • CSV-Anführungszeichen und HTML-Escaping unterscheiden, damit Kommas, Anführungszeichen, Unicode und Zeichen wie & und < korrekt als Text erscheinen;
  • stabile Gäste-IDs als Dateinamen verwenden, damit auch gleichnamige Gäste getrennte Einladungen erhalten;
  • Pflichtwerte, sichere eindeutige IDs und die Vorlagenverarbeitung vor dem Anlegen eines neuen Stapels prüfen und vorhandene Stapel ohne Überschreiben ablehnen;
  • die tatsächlich erzeugten HTML-Dateien öffnen und herunterladen und dabei CSV, Veranstaltungsdaten, Vorlage und frühere Stapel erhalten.

Für wen dieser Kurs geeignet ist

Dieser Kurs richtet sich an Python-Lernende, die dateibasierte Automatisierung und personalisierte Inhalte praktisch üben möchten.

Voraussetzungen: Du solltest Python-Zeichenketten, Dictionaries, Schleifen und Funktionen verstehen und einfache Terminalbefehle eingeben können. Dateiverarbeitung, das Lesen von CSV und JSON, UTF-8 und HTML-Escaping für Text werden im angeleiteten Lab eingeführt.

Lernumgebung: LabEx stellt ein WebIDE im Browser mit Python, vorbereiteten Projektdateien, einer vollständig gestalteten HTML-Vorlage und einer Vorschau für deine erzeugten Dateien bereit. Die Beschriftungen der Vorschau und die Programmausgaben bleiben auf Englisch.

Häufig gestellte Fragen

Muss ich Software installieren oder eine Webseite gestalten?

Eine lokale Installation ist nicht nötig. Das Seitendesign ist vorbereitet. Du konzentrierst dich auf Feldzuordnung, Validierung und eine Datei pro Gast; CSS und fortgeschrittene Vorlagen-Frameworks gehören nicht zum Kurs.

Schreibe ich die gesamte Anwendung von Grund auf?

Nein. Der Code für Kommandozeile und Dateiausgabe ist im Startprogramm vorhanden. Du vervollständigst die zentrale Python-Logik und lernst, wie die bereitgestellten Teile sie verwenden.

Was passiert bei ungültigen Gästedaten oder einem vorhandenen Stapel?

Du lernst, fehlende Pflichtwerte, unsichere oder doppelte Gäste-IDs und Fehler bei der Vorlagenverarbeitung vor dem Anlegen des neuen Stapels abzulehnen. Auch ein vorhandener Stapel wird abgelehnt. So kannst du die Eingaben korrigieren oder ein neues Ausgabeverzeichnis wählen und die bisherige Arbeit behalten.

Versendet das Projekt E-Mails oder erstellt es gedruckte Einladungen?

Das Ergebnis sind ein wiederverwendbarer Generator und echte digitale HTML-Einladungen zum Öffnen und Herunterladen. E-Mail-Versand, Drucken und PDF-Erzeugung gehören nicht zum Kurs.

Wie erweitert die Challenge das angeleitete Lab?

Du wendest den erlernten Ablauf auf eine andere Veranstaltung und Gästeliste an, einschließlich gleichnamiger Gäste und Texten, die CSV-Anführungszeichen oder HTML-Escaping benötigen. Du erzeugst den vollständigen neuen Stapel und erhältst die bereitgestellten Eingaben sowie ältere Ausgaben.

Lehrer

labby
Labby
Labby is the LabEx teacher.