Flask / Jinja2 - Logik und Templating trennen
Verfasst: Donnerstag 10. September 2015, 19:30
Hallo zusammen,
ich bin neu in Python, Flask und Jinja und versuche mich gerade an dem Tutorial von http://blog.miguelgrinberg.com/post/the ... -templates
Nun schlägt er in seinem Blog vor in den Templates zum Beispiel if else zu nutzen. Siehe hier:
Nun habe ich aber gehört, dass man Logik möglichst vom Template trennen soll. Was für mich auch logisch scheint.
Nun mein Problem. Ich verstehe nicht, wie ich zum Beispiel von meiner routes.py aus diese Logik aus dem Template bekommen sollte.
Meine routes.py:
Nun müsste ich ich ja z.B. hier irgendwie auch eine logik einbauen können die sowas sagte wie:
"Wenn Varibale Titel gesetzt ist, dann schreib <title>{{ title }} - microblog</title>. Wenn dem nicht so ist schreib <title>Hallo kein Titel</title>
Ich hoffe ich konnte meine Frage irgendwie darstellen. Ich frage mich einfach wie ich Logik in Python auf ein Template in Jinja/HTML anwenden kann.
Ich danke euch für die Hilfe vorab.
ich bin neu in Python, Flask und Jinja und versuche mich gerade an dem Tutorial von http://blog.miguelgrinberg.com/post/the ... -templates
Nun schlägt er in seinem Blog vor in den Templates zum Beispiel if else zu nutzen. Siehe hier:
Code: Alles auswählen
<head>
{% if title %}
<title>{{ title }} - microblog</title>
{% else %}
<title>Welcome to microblog</title>
{% endif %}
</head>
Nun mein Problem. Ich verstehe nicht, wie ich zum Beispiel von meiner routes.py aus diese Logik aus dem Template bekommen sollte.
Meine routes.py:
Code: Alles auswählen
from app import app
from flask import render_templates
@app.route('/')
@app.route('/index')
def index():
#fake user
user = {'nickname': 'John Doe'}
"Wenn Varibale Titel gesetzt ist, dann schreib <title>{{ title }} - microblog</title>. Wenn dem nicht so ist schreib <title>Hallo kein Titel</title>
Ich hoffe ich konnte meine Frage irgendwie darstellen. Ich frage mich einfach wie ich Logik in Python auf ein Template in Jinja/HTML anwenden kann.
Ich danke euch für die Hilfe vorab.