Diferencia entre revisiones de «Flask: creación de un proyecto»

De nuxpy
Ir a la navegación Ir a la búsqueda
Línea 81: Línea 81:
 
= Temas relacionados =
 
= Temas relacionados =
 
* [[Flask: creación de un proyecto con blueprint]]
 
* [[Flask: creación de un proyecto con blueprint]]
 +
* [[Flask: guía rápida]]
 
* [[Frameworks para Python]]
 
* [[Frameworks para Python]]
 
* [[Peewee ORM para Python]]
 
* [[Peewee ORM para Python]]
 
* [[Crear ambiente virtual de Python]]
 
* [[Crear ambiente virtual de Python]]
 
[[Categoría:Python]]
 
[[Categoría:Python]]

Revisión del 08:50 20 ene 2023

A diferencia de Django, Flask es un framework más ligero parecido a Bottle pero más popular y usado.

En su web oficial hacen referencia a Jinja y Werkzeug como herramientas base para el uso de Flask.

Jinja es un motor de plantillas web, permite personalizar dichas plantillas, heredar funciones, crear macros. De igual manera permite insertar funciones o llamado de funciones desde la base creada en python.

Werkzeug es un conjunto de herramientas convertidas en una librería arropada como werkzeug. Permite interpretar solicitudes, respuestas, generar funciones de utilidades generados por el lenguaje, en este caso python como framework.

Instalación

Desde un sistema Linux se puede usar el comando pip según la versión que se desee, ejemplo:

pip3 install flask

Crear un proyecto

Crear un proyecto usando Flask es muy sencillo, solo se genera el árbol o estructura de directorios y ficheros que llevará el proyecto. No existe tampoco un método o concepto estándar, finalmente la flexibilidad del framework permite generar proyectos de acuerdo a las necesidades y organización que se desee.

Un ejemplo básico pudiera ser:

miweb/
├── miweb.py
├── static
│   ├── css
│   │   └── style.css
│   └── js
│       └── scripts.js
└── templates
    └── index.html

A medida de que el proyecto vaya creciendo se pueden incorporar más directorios o subdirectorios según la necesidad. Posteriormente se van agregando las rutas de dichos subdirectorios y las referencias lógicas para el llamado de plantillas o ficheros relacionados con alguna función de la aplicación o página web.

Fichero principal

En el ejemplo anterior el fichero principal sería miweb.py, dentro de este fichero se hace el llamado de las librerías que se usarán sobre la aplicación usando Flask.

Un ejemplo de cómo pudiera verse el contenido del fichero sería:

# -*- coding: utf-8 -*-
''' Mi proyecto en python usando Flask
'''
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

app.run(host='0.0.0.0', port='8082', debug=True)

Por defecto las librerías del framework buscarán las vistas dentro del directorio templates.

Vistas

Las vistas se pueden definir con extensión .html, dentro del fichero se escribirá código HTML y será interpretado, ejemplo del contenido:

<!DOCTYPE html>
<html lang="es">
    <head>
        <title>Mi sitio web con Flask</title>
        <meta charset="UTF-8">
        <link href="{{ url_for('static', filename='css/style.css') }}" rel="stylesheet">
        <script src="{{ url_for('static', filename='js/scripts.js') }}"></script>
    </head>
    <body>
        <h1>Hola mundo</h1>
    </body>
</html>

Inicializar el proyecto

Se puede inicializar el proyecto a través del comando python según la versión, dentro del directorio miweb sería usar la instrucción:

python3.7 miweb.py

Lo siguiente será abrir en un navegador web de la siguiente manera:

Bottle-navegador-00.png

Algunas consideraciones

Para el desarrollo de un proyecto sobre el apoyo del ecosistema de Flask se pueden considerar ciertas herramientas, tales como:

Adicionalmente la documentación de la web oficial de Flask que recomiendan cada detalla de apoyo para la herramienta.

Temas relacionados