Was macht Jinja im Hintergrund?

Django, Flask, Bottle, WSGI, CGI…
Antworten
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

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
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Das ist die übliche Repräsentation eines Tuples, und Du erzeugst im ersten {{}} ein Tuple.
Mit JSON kann jinja nichts anfangen.
Antworten