Antwort von unserem Entwicklerteam (GitHub-Nutzer nicolettas-muggelbude):
Moin @ask4it,
wir nutzen kein Jinja. Die Rechnungs-PDFs entstehen über fpdf2 – das ist keine Template-Engine mit HTML/CSS, sondern direktes, imperatives Zeichnen auf die PDF-Seite (Koordinaten, Schriftarten, Linien per Python-Methodenaufruf). Aktuell gibt es zwei fest im Code hinterlegte Vorlagen (0 und 1), zwischen denen du in den Einstellungen wählen kannst – aber es gibt keine Template-Datei im eigentlichen Sinn, die man hochladen könnte.
Das heißt für deinen Vorschlag: Ein „Upload + Zuordnung in der DB" wäre mit der aktuellen Architektur nicht einfach on top zu bauen, weil es kein Dateiformat gibt, in dem ein Layout überhaupt vorliegen könnte – man würde de facto Python-Code hochladen, was aus Sicherheitssicht nicht in Frage kommt. Der realistische Weg dahin wäre ein Umbau der PDF-Erzeugung auf eine echte Template-Engine (z. B. HTML/CSS + Jinja + WeasyPrint), erst danach würde ein Upload-Feature mit Variablenliste überhaupt Sinn ergeben.
Das ist ein deutlich größeres Vorhaben als der ursprüngliche Feature-Wunsch (eine einzelne Wunschvorlage) – deswegen bleibt mein Vorschlag von vorhin bestehen: schick uns gerne eine konkrete Wunschvorlage als Datei, die bauen wir dann in der bestehenden fpdf2-Struktur nach. Den Umbau auf eine Template-Engine samt Upload-Funktion nehme ich als Idee mit auf die Roadmap, aber ohne festen Zeithorizont.
Auf GitHub ansehen