Diferencia entre revisiones de «Flask: creación de un proyecto»
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:
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.