¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Flask - 1 - Desarrollo.
Introducción
Tutorial de Desarrollo de una Aplicación con Flask y Gestión con systemd
Referencias: Flask mega tutorial
Requerimientos
- Linux server (Debian based)
- Pipenv
Preparación del Entorno de Desarrollo en Linux Mint
Instalación de Dependencias
Primero, asegúrate de tener instaladas las dependencias necesarias en tu sistema Linux Mint. Pipenv es una herramienta para la gestión de dependencias de Python.
sudo apt update sudo apt install python3-pip python3-dev curl pipenv
Creación del Proyecto
Crea un directorio para tu proyecto y navega a él:
mkdir my_flask_app cd my_flask_app
Inicialización del Entorno Virtual con Pipenv
Inicializa un nuevo entorno virtual y crea un archivo Pipfile:
pipenv shell
Esto creará un nuevo directorio en .local con los scripts de activate y
desactivate. Yo suelo modificar el script de activate añadiendo al final
cd directoriodetrabajo.
Instalamos lo básico.
pipenv install flask
Edit the .env file to add the FLASK//APP and FLASK//DEBUG environmental variables.
With any editor add these two lines:
FLASK_APP=wsgi.py FLASK_ENV=development FLASK_DEBUG=1
FLASK_ENV es obsoleto, pero antes de eliminarlo hay que revisar que no esté siendo usado por código heredado de otras aplicaciones.
Creación de la Aplicación Base
To set up a minimal Flask application create two files app.py and wsgi.py. The main Flask application will be stored in app.py. wsgi.py will be used to get the application running.
Crea un archivo app.py con el siguiente contenido:
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run(debug=True)
Crea el fichero wsgi.py:
# wsgi.py from app import app
Ejecución de la Aplicación
Activa el entorno virtual y ejecuta la aplicación:
pipenv shell flask run --host '0.0.0.0'
* Tip: There are .env or .flaskenv files present. Do "pip install python-dotenv" to use them. * Serving Flask app 'wsgi.py' * Debug mode: off WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:5000 * Running on http://192.168.12.34:5000 Press CTRL+C to quit
Ahora, puedes acceder a tu aplicación en http://127.0.0.1:5000.
Now you can access the application from another computer using a browser, navigate to the server's IP address on port 5000. Make sure port 5000 is not blocked by a firewall so that you will be able to access your Flask application.
Since my server's IP address is 192.168.12.34 I access the Flask application from my laptop with a browser using this address:
You should see Hello World in the browser.
Press CTRL+C to stop the Flask development server.
Creación de secret key
import os os.urandom(24)
Esta clave secreta se puede configurar en luego en la aplicación, para mejorar la seguridad de la aplicación.
app.secret_key = '76aba94aaafb59debefd570b6378c747'
O si se usa un diccionario de configuración:
app.secret_key = config.dict['secret_key']