ich beschäftige mich seit ein paar Stunden mit Flask und habe gerade einen Knoten im Kopf, bezüglich Templates.
Code: Alles auswählen
def connect_db():
rv = sqlite3.connect(app.config['DATABASE'])
rv.row_factory = sqlite3.Row
return rv
def get_db():
if not hasattr(g, 'sqlite_db'):
g.sqlite_db = connect_db()
return g.sqlite_db
@app.teardown_appcontext
def close_db(error):
if hasattr(g, 'sqlite_db'):
g.sqlite_db.close()
@app.route('/user/<hash_value>')
def user_startpage(hash_value):
db = get_db()
cur = db.execute("""select t.name, ut.completed
from users as u
join users_trainings as ut on u.ID = ut.U_ID
join trainings as t on ut.T_ID = t.ID
where u.hash='{}'""".format(hash_value))
trainings = cur.fetchall()
db = get_db()
cur = db.execute("select first_name || ' ' || name from users where hash='{}'".format(hash_value))
user_name = cur.fetchall()
return render_template('show_user_trainings.html', trainings=trainings, user_name=user_name)
Code: Alles auswählen
{% extends "layout.html" %}
{% block body %}
<h2>{{ user_name[0] }}</h2>
<ul class=entries>
{% for training in trainings %}
<li>{{ training.name }} {{ training.completed}}
{% else %}
<li><em>Unbelievable. No entries here so far</em>
{% endfor %}
</ul>
{% endblock %}