Home > flask, python > Flask (tricks): download dati

Flask (tricks): download dati

12 Maggio 2016

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)

Categorie:flask, python Tag: ,
I commenti sono chiusi.