Seite 1 von 1

Was macht Jinja im Hintergrund?

Verfasst: Montag 15. Februar 2021, 19:01
von naheliegend
Hi,

ich übergebe ein SQLAlchemy Objekt per render_template und iteriere dadurch. Jetzt frage ich mich, warum die erste Zeile, wo mehrere Attribute ausgegeben werden Datum und string nicht wie da drunter angezeigt werden? Bekommt jede Variable ihre eigenen {{ }} ?

Code: Alles auswählen

{%for exers in exer_obj%} 
    <p>{{ exers.id, exers.name, exers.weight, exers.reps, exers.created_at }}</p> 
    <p>{{ exers.name }}</p>
    <p>{{ exers.created_at }}</p>
{%endfor%} 

OUT:
(1, 'bench', 100, 8, datetime.date(2021, 2, 14))

bench

2021-02-14

(2, 'squats', 222, 5, datetime.date(2021, 2, 14))

squats

2021-02-14

(3, 'deadlifts', 315, 7, datetime.date(2021, 2, 14))

deadlifts

2021-02-14
Im gleichen Zuge würde ich nochmal fragen, ob man denn SQLAlchemy Objekte direkt übergibt, oder ob man die (best practise) als json, oder sonst etwas aufbereitet übergibt?

Danke und LG

Re: Was macht Jinja im Hintergrund?

Verfasst: Montag 15. Februar 2021, 19:18
von Sirius3
Das ist die übliche Repräsentation eines Tuples, und Du erzeugst im ersten {{}} ein Tuple.
Mit JSON kann jinja nichts anfangen.