Réponse basée sur les commentaires de @jc (merci à lui).
Le dossier /static/data/yearbooks/<year>
contient toutes les publications de l'année year
.
Renvoyer une publication se fait en créant la route suivante:
@app.route('/annuaire/<int:year>/<publi_name>.pdf')
def publication(year, publi_name):
directory = os.path.join('static', 'data', 'yearbooks', str(year))
fname = "{}.pdf".format(publi_name)
return send_from_directory(directory, fname)
Idéalement, le chemin vers le répertoire data
sera spécifié dans un fichier de configuration.
Le fait que year
soit forcément un int
empêche de faire n'importe quoi avec os.path()
.