Python - Flask - Building a Webapp: Web Development - template
Head First Python: A Learner’s Guide to the Fundamentals of Python Programming, A Brain-Friendly Guide、 Paul Barry(著)、 O’Reilly Mediaの Chapter 7.(Building a Webapp: Web Development)、SHARPEN YOUR PENCIL(368/682)の解答を求めてみる。
コード
webapp/app.py
import os
from flask import Flask, render_template, session
import swimclub
app = Flask(__name__)
app.secret_key = 'seceret_key'
def populate_data():
if 'swimmers' not in session:
swim_files = os.listdir(swimclub.FOLDER)
swim_files.remove('.DS_Store')
session['swimmers'] = {}
for filename in swim_files:
name, *_ = swimclub.read_swim_data(filename)
if name not in session['swimmers']:
session['swimmers'][name] = []
session['swimmers'][name].append(filename)
@app.get('/')
def index():
return render_template(
'index.html.j2',
itle='Welcome to the Swimclub system',
)
@app.get('/swimmers')
def display_swimmers():
populate_data()
return render_template(
'select.html.j2',
title='Select a swimmer',
url='/showfiles',
select_id='swimmer',
data=sorted(session['swimmers']),
)
@app.get('/files/<swimmer>')
def get_swimmers_files(swimmer):
populate_data()
return session['swimmers'][swimmer]
if __name__ == '__main__':
app.run()