Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion source/leccion1/entorno_desarrollo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ Así de esta forma congela las versiones usadas para el proceso de instalación


Entornos virtuales Python
^^^^^^^^^^^^^^^^^^^^^^^^^
-------------------------

Para la instalación de la herramienta de entornos virtuales en Python,
ejecute el siguiente comando:
Expand Down
2 changes: 1 addition & 1 deletion source/leccion4/hello_world.rst
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ De esta forma puede una aplicación web ``WSGI`` simple que maneja una petición


Estos son los bloques de construcción muy simplificados utilizados en :ref:`framework web <python_leccion5_frameworks_web_populares>`
populares como :ref:`Flask <python_leccion6>` y :ref:`Django <python_leccion7>`.
populares como :ref:`Flask <python_flask>` y :ref:`Django <python_django>`.

De esta forma ha aprendido a crear aplicaciones web ``WSGI`` que maneja peticiones ``GET`` y ``POST``.

Expand Down
4 changes: 2 additions & 2 deletions source/leccion4/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ Web Server Gateway Interface
diferentes servidores web y framework de aplicaciones interactúen según
una API común.

En esta lección se busca hacer una introducción a la especificación WSGI
en Python, sus características, instalación, interacciones con un WSGI y
En esta lección se busca hacer una introducción a la especificación ``WSGI``
en Python, sus características, instalación, interacciones con un ``WSGI`` y
los recursos más destacados disponibles en la Web para tomar en cuenta.

A continuación el temario de esta lección:
Expand Down
46 changes: 25 additions & 21 deletions source/leccion4/introduccion_wsgi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,38 @@
Introducción a WSGI
===================

Tras bambalinas de frameworks como :ref:`Flask <python_leccion6>`,
:ref:`Django <python_leccion7>`, Bottle y cualquier otro framework web
Tras bambalinas de frameworks como :ref:`Flask <python_flask>`,
:ref:`Django <python_django>`, `Bottle`_ y cualquier otro framework web
de Python, se encuentra el *Web Server Gateway Interface (WSGI)*.

WSGI es para Python lo que son Servlets para Java: una especificación común
``WSGI`` es para Python lo que son Servlets para Java: una especificación común
para servidores web que permite que diferentes servidores web y framework de
aplicaciones interactúen según una API común.

Sin embargo, como con la mayoría de las cosas, la versión de Python es
considerablemente más simple.

WSGI se define en el `PEP 3333 <https://peps.python.org/pep-3333/>`_, que le
recomiendo que lea como referencia si desea obtener más información después
de esta introducción rápida.
``WSGI`` se define en el `PEP 3333`_, que le recomiendo que lea como referencia
si desea obtener más información después de esta introducción rápida.

WSGI no es un servidor, un módulo de Python, un framework, una API o cualquier
``WSGI`` no es un servidor, un módulo de Python, un framework, una API o cualquier
tipo de software. Es solo una especificación de interfaz mediante la cual el
servidor y la aplicación se comunican.

Tanto el lado del servidor como la interfaz de la aplicación se especifican en
el *PEP 3333*. Si se escribe una aplicación (o framework o kit de herramientas)
en la especificación WSGI, se ejecutará en cualquier servidor escrito en esa
el `PEP 3333`_. Si se escribe una aplicación (o framework o kit de herramientas)
en la especificación ``WSGI``, se ejecutará en cualquier servidor escrito en esa
especificación.

.. _python_wsgi_app:

Aplicaciones WSGI
------------------

Las aplicaciones WSGI (lo que significa que cumplen con el WSGI) se pueden
Las aplicaciones ``WSGI`` (lo que significa que cumplen con el ``WSGI``) se pueden
apilar. Los que están en la mitad de la pila se denominan **middleware** y
deben implementar ambos lados de la interfaz, la aplicación y el servidor
WSGI.
``WSGI``.

Para la aplicación que se encuentra en la parte superior, se comportará
como un servidor y para la aplicación (o servidor) a continuación como una
Expand All @@ -47,28 +46,28 @@ aplicación.
Servidor WSGI
--------------

Un servidor WSGI (lo que significa que cumple con el WSGI) solo
Un servidor ``WSGI`` (lo que significa que cumple con el ``WSGI``) solo
recibe la solicitud del cliente, la pasa a la aplicación y luego
envía la respuesta devuelta por la aplicación al cliente. No hace
nada más. Todos los detalles explícitos deben ser suministrados
por la aplicación o middleware.
por la aplicación o **middleware**.

No es necesario conocer la especificación WSGI para crear
No es necesario conocer la especificación ``WSGI`` para crear
aplicaciones sobre frameworks o kits de herramientas. Para usar
middleware, se debe tener una comprensión mínima de cómo apilarlos
**middleware**, se debe tener una comprensión mínima de cómo apilarlos
con la aplicación o el marco, a menos que el framework ya esté
integrado o el framework proporcione algún tipo de envoltorio
para integrar los que no lo están.

Python 2.5 y versiones posteriores vienen con un servidor WSGI
que se utilizará en este tutorial. En 2.4 y anteriores se puede
En la versión de Python 2.5 y versiones posteriores vienen con un servidor ``WSGI``
que se utilizará en este tutorial. En la versión de Python 2.4 y anteriores se puede
instalar. Para el código de producción, emplee un estándar probado
en la industria como Apache con `mod_wsgi <https://modwsgi.readthedocs.io/en/master/>`_.
en la industria como Apache con el módulo `mod_wsgi`_.

Todo el código en este tutorial es de bajo nivel y tiene el único
propósito de demostrar la especificación WSGI en funcionamiento.
Todo el código fuente en este sección es de bajo nivel y tiene el único
propósito de demostrar la especificación ``WSGI`` en funcionamiento.
No es para uso real. Para código de producción, utilice a los kits
de herramientas, frameworks y middleware.
de herramientas, :ref:`frameworks Web <python_leccion5>` y **middleware**.

.. figure:: ../_static/images/web_browser_server_wsgi.png
:class: image-inline
Expand All @@ -92,3 +91,8 @@ de herramientas, frameworks y middleware.

..
.. disqus::


.. _`Bottle`: https://bottlepy.org/docs/dev/
.. _`PEP 3333`: https://peps.python.org/pep-3333
.. _`mod_wsgi`: https://modwsgi.readthedocs.io/en/master/
9 changes: 8 additions & 1 deletion source/leccion5/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ el que mejor se adapte a sus necesidades específicas.
Incluye una gran cantidad de funcionalidades integradas, como un
ORM (Object-Relational Mapping), un sistema de autenticación y un
panel de administración.
- **Pyramid**: Un framework que se adapta tanto a proyectos pequeños
- `Pyramid`_: Un framework que se adapta tanto a proyectos pequeños
como a aplicaciones complejas. Pyramid es muy flexible y permite a
los desarrolladores elegir los componentes que desean utilizar.
- :doc:`FastAPI <../leccion8/index>`: Un framework moderno y de alto
Expand All @@ -75,6 +75,10 @@ Al elegir un framework web en Python, es importante considerar factores
como la complejidad del proyecto, las necesidades de rendimiento y las
preferencias personales del equipo de desarrollo.

.. important::
Es importante comunicarse con el equipo de desarrollo para asegurarse de
que el framework se adapte adecuadamente a sus necesidades.


----

Expand All @@ -93,3 +97,6 @@ preferencias personales del equipo de desarrollo.

..
.. disqus::


.. _`Pyramid`: https://pypi.org/project/pyramid/
2 changes: 1 addition & 1 deletion source/leccion6/admin_dashboard.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Requisitos previos
Para hacer un demostración local de un aplicación Dashboard de
``Flask-Admin`` requiere instalar las siguientes librerías:

- :ref:`Flask <python_leccion6>`.
- :ref:`Flask <python_flask>`.

- `Flask-Admin <https://pypi.org/project/Flask-Admin/>`_.

Expand Down
2 changes: 1 addition & 1 deletion source/leccion6/crud_app.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ instalar las siguientes librerías:
Para trabajar una aplicación ``Flask`` con bases de datos relacionales
requiere instalar las siguientes librerías:

- :ref:`Flask <python_leccion6>`.
- :ref:`Flask <python_flask>`.

- :ref:`SQLAlchemy <python_sqlalchemy>`.

Expand Down
2 changes: 1 addition & 1 deletion source/leccion6/index.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _python_leccion6:
.. _python_flask:

Flask
=====
Expand Down
2 changes: 1 addition & 1 deletion source/leccion6/instalacion.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Instalación
===========

Para instalar el framework :ref:`Flask <python_leccion6>` debe seguir los siguientes pasos:
Para instalar el framework :ref:`Flask <python_flask>` debe seguir los siguientes pasos:


Requisitos previos
Expand Down
2 changes: 1 addition & 1 deletion source/leccion7/index.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _python_leccion7:
.. _python_django:

Django
======
Expand Down
2 changes: 1 addition & 1 deletion source/leccion7/instalacion.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Instalación
===========

Para instalar el framework :ref:`Django <python_leccion7>` debe seguir los siguientes pasos:
Para instalar el framework :ref:`Django <python_django>` debe seguir los siguientes pasos:


Requisitos previos
Expand Down
2 changes: 1 addition & 1 deletion source/leccion8/index.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _python_leccion8:
.. _python_fastapi:

FastAPI
=======
Expand Down
2 changes: 1 addition & 1 deletion source/leccion8/instalacion.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Instalación
===========

Para instalar el framework :ref:`FastAPI <python_leccion8>` debe seguir los siguientes pasos:
Para instalar el framework :ref:`FastAPI <python_fastapi>` debe seguir los siguientes pasos:


Requisitos previos
Expand Down