FlaskStartup
flask webserver startup
flask http://flask.pocoo.org/ è un server web scritto in python.
Ormai è un progetto maturo e tra i molti server scritti in python e uno tra quelli che stanno riscuotendo maggior successo.
Con questo tutorial cercherò di dare la possibilità di provare velocemente flask per capire se è lo strumento adatto per i prossimi progetti web.
Propongo due soluzioni alternative, nella prima useremo coockiecutter per testare alcuni templates di flask già pronti con un po’ di codice da esplorare, poi faremo una installazione virtulenv da zero per seguire i tutorial di flask.
coockiecutter
cookiecutter è una libreria python che permette di costruire templates di applicazioni. Si trova su: https://github.com/audreyr/cookiecutter e dispone di un certo numero di templates già pronti.
Se vogliamo installarlo a livello di sistema possiamo digitare:
sudo -H pip install cookiecutter
a questo punto lo possiamo usare per installare alcuni dei templates disponibili, per flask ce ne sono alcuni, li possiamo provare tutti.
ad esempio:
mkdir flask cd flask cookiecutter https://github.com/candidtim/cookiecutter-flask-minimal.git
il programma ci chiede il nome alla nostra applicazione, possiamo dare ad esempio flask_min.
A questo punto il sistema prepara la nostra applicazione vuota, per lanciarla basta fare:
cd flask_min make
viene installato tutto quello che serve e viene avviato il server, ora possiamo navigare su:
http://127.0.0.1:5000/
nel file Makefile si può vedere il dettaglio dei comandi. se vogliamo possiamo avviare il server a mano con:
FLASK_APP=flask_min FLASK_MIN_SETTINGS=../settings.cfg venv/bin/flask run
Interessante è anche il template foundation, alla nostra app :
cookiecutter https://github.com/JackStouffer/cookiecutter-Flask-Foundation cd webapp make env source env/bin/activate ./manage.py server
In questo caso l’applicazione è un po’ più estesa e comprende anche l’uso dei templates, di alcune librerie javascript e css, del database e di alcuni strumenti di debug.
virtualenv
Ora che abbiamo fatto alcune prove, possiamo incominciare ad esplorare flask, magari seguendo la documentazione ufficiale. http://flask.pocoo.org/docs/1.0/ Ci conviene creare un virtualenv ed una cartella in cui creare tutte le nostre app di prova.
mkdir flask cd flask python3 -m venv venv source venv/bin/activate sudo pip install flask mkdir -p apps/first cd apps/first/
ora possiamo scrivere la nostra prima app, ci servono tre files: flaskapp.py
from flask import Flask app = Flask(__name__) app.config.from_object('default_settings') app.config.from_envvar('FLASK_SETTINGS') @app.route('/') def index(): return "Hello flask!"
ed il file delle configurazioni: default_settings.py
DEBUG = true LOG_DIR = '.'
altre configurazioni: settings.cfg
TEMPLATES_AUTO_RELOAD = True