Crea una aplicación Hello World usando Flask Framework

Crea una aplicación Hello World usando Flask Framework
Este artículo cubrirá una guía sobre cómo escribir una aplicación simple de Hello World utilizando el marco "Flask" basado en Python. Flask se puede utilizar para crear aplicaciones web mínimas, extensibles y avanzadas utilizando un conjunto de bibliotecas incluidas en su módulo. Todas las muestras de código en este tutorial se prueban en Ubuntu 20.10 con Python versión 3.8.6 y frasco versión 1.1.2.

Acerca de un frasco

Flask es un marco de desarrollo de aplicaciones web basado en Python que está especialmente diseñado para ser mínimo para comenzar. Esto ayuda en prototipos rápidos, desarrollo rápido e implementación rápida. Cualquier característica avanzada que necesite agregar a su aplicación web se puede agregar a través de extensiones. El sitio oficial de Flask se describe a sí mismo como un marco "micro", ya que deja todas las decisiones importantes para los usuarios y decide poco en nombre de ellos. Los usuarios pueden elegir sus propios motores de plantilla, bibliotecas de administración de bases de datos, herramientas de validación de formulario, etc., aunque Flask viene con algunos valores predeterminados sanos.

Instalación del frasco en Linux

Si está utilizando Ubuntu, puede instalar Flask ejecutando el comando mencionado a continuación:

$ sudo apt install python3-flask

Puede evitar usar la versión del repositorio e instalar la última versión de Flask desde el Administrador de paquetes "Pip" ejecutando siguiendo dos comandos en sucesión:

$ sudo apt install python3-pip
$ PIP3 Instalar Flask

Si está utilizando cualquier otra distribución de Linux, busque paquetes "Flask" en el Administrador de paquetes o instálelo desde la herramienta de instalación de paquetes "PIP". Más instrucciones detalladas están disponibles aquí.

Una vez que la instalación haya terminado, puede verificar la versión Flask utilizando el comando especificado a continuación:

Frasco de importación de $ python3 -c "; imprimir (frasco.__versión__)"

El modelo de cliente-servidor

Como se indicó anteriormente, Flask se utiliza para desarrollar aplicaciones web. Por lo general, todos los marcos de desarrollo de aplicaciones web en Python y otros lenguajes de programación utilizan la arquitectura de cliente cliente. Flask también utiliza un modelo de cliente cliente donde los usuarios pueden escribir la lógica del lado del servidor para crear aplicaciones o sitios web web. El "cliente" aquí se refiere a un navegador web o cualquier otra aplicación que permita la representación de páginas web utilizando HTML, JavaScript y CSS Technologies. Mientras que el "servidor" se refiere a un servidor local o remoto donde se ejecuta su aplicación Flasks escrita en el idioma Python.

Cuando ejecuta una aplicación Flask localmente en su PC, un servidor local se crea automáticamente para servir a la aplicación web. Flask generará una URL local en su terminal. Puede visitar esta URL en cualquier navegador web para ver el resultado final. También puede configurar un servidor remoto para facilitar la comunicación entre un cliente y un servidor y lanzar su propio sitio web público o aplicación web.

Puede crear el código HTML, JavaScript y CSS del lado del cliente necesario para su aplicación web utilizando el código del lado del servidor escrito en Flask y Python. Pero una vez que la aplicación web se implementa y la ejecuta en un navegador web, su aplicación web no verá ni comprenderá el código Python. Procesará HTML, JavaScript y CSS solo, ya que solo estas tecnologías son compatibles con los navegadores web. Aún podrá comunicarse con el servidor desde el lado del cliente utilizando las solicitudes HTTP. Puede pasar mucho los datos del cliente al servidor, procesarlo utilizando alguna lógica del lado del servidor y devolver el resultado.

Por lo tanto, dependiendo del tipo de aplicación web que esté desarrollando, es posible que deba decidir dónde implementar la lógica: en el lado del servidor o del lado del cliente en caso por caso.

Simple Hello World Application en Flask

Puede usar la muestra de código a continuación para crear una aplicación simplista de "Hello World" en Flask para comenzar:

de Flask Import Flask
App = Flask (__ Nombre__)
@App.ruta('/')
def hello_world_app ():
mensaje = "Hola mundo!!"
mensaje de retorno

La primera declaración en la muestra de código anterior importa la clase "Flask" desde el módulo "Flask". Una vez importado, podrá usar todos los métodos disponibles en la clase "Flask".

En la siguiente declaración, se crea una nueva instancia de clase "Flask" y se le suministra el nombre del archivo como argumento. Si solo está usando un solo ".PY "archivo sin un" __init__ adicional.El archivo PY "generalmente se usa al crear una estructura de archivo para un paquete Python, el nombre tendrá un valor codificado de" __main__ ". El argumento "__name__" le dice a Flask dónde buscar archivos relacionados con la aplicación actual de frasco que se está ejecutando. También puede proporcionar su propia ruta personalizada a su archivo principal de frasco en lugar de suministrar un argumento "__name__". Pero, por lo general, la mayoría de los desarrolladores usan solo "__name__" y esto parece ser una práctica estándar.

A continuación, una aplicación de "decoración".La ruta "se adjunta a la función" hello_world_app ". Las funciones de decoración se extienden o modifican la función a la que están unidas, sin cambiarlas realmente. Aquí, "Aplicación.El decorador de la ruta ”se utiliza para especificar la ruta de la URL donde se ejecutará la función adjunta. El símbolo "/" le dice a Flask que ejecute una función en URL "/", que representa el dominio de "raíz" o URL de "raíz". Por ejemplo, si la URL para su aplicación es "Aplicación.com ", la función se activará para" APP.com ”url. Puedes cambiarlo a otra cosa también. Por ejemplo, usando un decorador "@App.ruta ('/helloworld') ", puede asignar la función a" aplicación.com/helloworld ”url.

Finalmente, la función "hello_world_app" se usa para devolver el contenido que desea mostrar en un navegador web cuando su aplicación web se ejecuta.

Ejecutar una aplicación Flask

Para ejecutar una aplicación Flask en Linux, debe ejecutar un comando en el siguiente formato:

$ exports frask_app = main.py
$ Flask Run

Cambiar "Principal.nombre "según sea necesario para igualarlo con el tuyo .Archivo "py" donde ha escrito su código frasco. El segundo comando ejecuta su aplicación Flask. También puede ejecutar este comando alternativo:

$ Frask_app = principal.Py Flask Run

Después de ejecutar estos comandos, debería ver alguna salida como esta:

Simplemente abra la URL mencionada en la terminal en un navegador web para ver su aplicación en acción.

Puede ejecutar la aplicación Flask en modo de depuración utilizando la variable de entorno "Flask_env" en el siguiente formato:

$ Frask_env = desarrollo frass_app = main.Py Flask Run

Uso del motor de plantilla Jinja2

Flask usa "Jinja2" para plantpar el motor para facilitar la redacción del código HTML en Python. Puedes usarlo para establecer un marcado para "Hello World!!" mensaje.

Cree un nuevo directorio llamado "plantillas" donde se encuentra su principal script de frasco. Dentro del directorio "plantilla", cree un nuevo archivo llamado "hw_template.html ". Abra el "hw_template.archivo html "y coloque el siguiente código:


Hola Mundo!!
% si color %

Hola Mundo!!


% demás %

Hola Mundo!!


% terminara si %

Este código está escrito en una sintaxis que "Jinja2" entiende. Puede consultar la documentación "Jinja2" disponible aquí. La plantilla marca si se le ha pasado una variable llamada "color". Si es así, entonces cambia el color del "Hola mundo!!"Mensaje utilizando el valor de la variable" color "que se le pasó a.

Para pasar una variable a la plantilla "Jinja2", debe escribir código en el siguiente formato:

@App.ruta('/')
def hello_world_app ():
return render_template ('hw_template.html ', color = "rojo")

El método "render_template" se utiliza para representar el marcado de un archivo de plantilla "jinja2". Puede proporcionarle el nombre de la plantilla que desea representar y cualquier argumento que desee transmitir a la plantilla. El "hw_template.La plantilla de HTML "utilizada anteriormente procesa una variable de" color "después de que el código de matraz le ha pasado una variable de" color "que tiene un valor de" rojo ". Después de ejecutar la muestra de código mencionada anteriormente, debe obtener el siguiente resultado:

También puede transmitir valores variables de una URL en sí misma. Eche un vistazo a la muestra de código a continuación:

@App.ruta('/')
@App.ruta('/')
def hello_world_app (color = "azul"):
return render_template ('hw_template.html ', color = color)

Dos rutas o rutas de URL se adjuntan a la función "Hello_world_app". Cuando visite el dominio raíz (ejemplo "aplicación.com "), verás el" Hello World!!"Mensaje en color azul como valor predeterminado para la variable" color "se define como" azul "y este es el valor que está pasando a la plantilla" Jinja2 "también.

La segunda ruta definida por "@App.ruta ('/') ”utiliza una sintaxis especial. Dentro de los símbolos "", puede definir cualquier variable para pasar a la función "Hello_world_app". El valor predeterminado para esta variable se define como un argumento para la función "hello_word_app". Luego pasa su propia variable personalizada como argumento al método "render_template" y establece su valor en la variable que definió al decorar la función con una nueva ruta personalizada.

Por ejemplo, "Hola mundo !!"El mensaje cambiará a color rojo cuando visite" Aplicación.URL de com/rojo ", pero permanecerá azul cuando visite" Aplicación.com ”url. Aquí hay una comparación de lado a lado:

Conclusión

Flask es un poderoso marco de desarrollo de aplicaciones web que se puede utilizar para crear aplicaciones simples y avanzadas. Este tutorial explica principalmente la creación de un simple "hola mundo!!"Aplicación. Puede conectarlo a una base de datos y usar extensiones para extender aún más su funcionalidad. Consulte la documentación de Flask para saber más sobre la administración de bases de datos y extensiones.