Notas de Luis

¡Esta es una revisión vieja del documento!


Nivel superior

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:

http://192.168.12.34:5000

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']
computing/web/flask_app_1.1768381817.txt.gz · Última modificación: por alfabeto