ID de región
El REGION_ID
es un código abreviado que Google asigna en función de la región que selecciones al crear tu aplicación. El código no corresponde a un país o provincia, aunque algunos IDs de región pueden parecerse a los códigos de país y provincia que se usan habitualmente. En las aplicaciones creadas después de febrero del 2020, REGION_ID.r
se incluye en las URLs de App Engine. En las aplicaciones creadas antes de esa fecha, el ID de región es opcional en la URL.
Consulta cómo subir, transformar, almacenar y publicar imágenes de forma dinámica con la API Images. En este ejemplo se describe cómo publicar mensajes en un tablón de anuncios público y subir un avatar con tu saludo.
Crear un modelo de imagen en Datastore
Debes actualizar el modelo del ejemplo del libro de visitas para almacenar la imagen subida como un blob.
Subir imágenes de usuarios
Deberá modificar el formulario HTML para permitir que el usuario suba una imagen:
Añade un campo que permita al usuario seleccionar un archivo de su ordenador para subirlo.
Añade el atributo
enctype
a la etiqueta del formulario y especifica que se trata de un envío de formulario multiparte.Actualiza el controlador Guestbook para obtener los datos de la imagen del formulario y almacenarlos como un blob en el almacén de datos.
Transformar imágenes
Para crear avatares de 32x32, debes hacer lo siguiente:
Importa el módulo
google.appengine.api.images
.Llama a la función
resize
y transfiere los datos de la imagen.
Presentación de imágenes de forma dinámica
Para publicar imágenes, debes hacer lo siguiente:
Crea un controlador de imágenes que sirva imágenes de forma dinámica desde la ruta
/img
.Actualiza el HTML para mostrar estas imágenes servidas de forma dinámica.
Deberás actualizar el HTML del libro de visitas para transferir la clave del saludo al controlador de imágenes, ya que obtiene el img_id
de la solicitud.
Desplegar la aplicación en App Engine
Para subir la aplicación Guestbook, ejecuta el siguiente comando desde el directorio guestbook
de tu aplicación, donde se encuentran los archivos app.yaml
y index.yaml
:
gcloud app deploy app.yaml index.yaml
Los índices de Datastore pueden tardar un tiempo en generarse antes de que tu aplicación esté disponible. Si los índices aún se están generando, recibirás un mensaje NeedIndexError
cuando accedas a tu aplicación. Este error es transitorio, así que inténtalo de nuevo un poco más tarde
si al principio recibes este error.
Para obtener más información sobre cómo desplegar tu aplicación desde la línea de comandos, consulta el artículo Desplegar una aplicación Python.
Ver la aplicación desplegada
Para iniciar el navegador y ver la aplicación en
https://PROJECT_ID.REGION_ID.r.appspot.com
, ejecuta el siguiente comando:
gcloud app browse