¡Esta es una revisión vieja del documento!
# Aplicación Flask - Parte 1 - Desarrollo.
## Introduction
Tutorial de Desarrollo de una Aplicación con Flask y Gestión con systemd
Referencias: [Flask mega tutorial](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world)
## Requirements
* 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.
```bash 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:
```bash 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`:
```bash 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 directorio_de_trabajo`.
Instalamos lo básico.
```bash pipenv install flask ```
Edit the .env file to add the `FLASK_APP` and `FLASK_DEBUG` environmental variables. With any editor add these two lines:
```ini 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:
```python 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`:
```python # wsgi.py from app import app ```
### Ejecución de la Aplicación
Activa el entorno virtual y ejecuta la aplicación:
```bash pipenv shell flask run –host '0.0.0.0' ```
```text * 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
```python 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.
```python app.secret_key = '76aba94aaafb59debefd570b6378c747'
```
O si se usa un diccionario de configuración:
```python app.secret_key = config.dict['secret_key'] ```