Flask (tricks): download dati
Per poter aver disponibile un dato al download, utilizziamo
make_response
Per prima cosa creiamo una view chiamata download
from flask import flash, request, make_response #..... @main.route('/download/<id>') def download(id): team = Team.query.get(id) players = team.players.all() data = """Team: %s\n""" % team.name for player in players: data += "\nplayer: %s - [%s]" % (player.name, player.value) response = make_response(data) response.headers["Content-Disposition"] = "attachment; filename=lineup.log" return response
nella template aggiungiamo un link (o un pulsante nel form) che richiami
la view corrispondente (download):
<a href="{{ url_for('main.download', id=team.id) }}">Download team lineup</a>
quando si clicchera’ sul link (o pulsante) si aprira’ il menu dove sara’ possibile
salvare il file, salvarlo con nome, ecc.
articoli successivi:
articoli precedenti:
Flask (parte 1): virtualenv
Flask (parte 2): struttura progetto complesso
Flask (parte 3): database
Flask (parte 4): views e templates
Flask (parte 5): password security
Flask (parte 6): authentication
Flask (parte 7): mail
Flask (parte 8): registrare un nuovo user
link utili:
“Flask Web Development” di Miguel Grinberg, fondamentale per calarsi nel mondo di Flask.
Altri link fondamentali:
Flask sito ufficiale
il blog dell’autore (Flask mega tutorial)
Commenti recenti