Flask App Dynamic Sitemap XML usando MongoDB | Easy2Digital

Esta pieza va a hablar sobre el desarrollo de xml de mapa de sitio dinámico para su aplicación Flask, lo que solo lleva unos minutos.

Cómo es un día helado si construyes un mapa del sitio y lo actualizas de vez en cuando manualmente. O pagar una suscripción mensual recurrente por solo un segundo trabajo único tampoco es una decisión inteligente.

Si está buscando una manera mejor, como la sensación de comer mejor carne de res marmoleada, esta pieza está aquí para usted. Este artículo hablará sobre el desarrollo de xml de mapa de sitio dinámico para su aplicación Flask. ¡Vamos!

Tabla de contenido: tutorial XML de mapa de sitio dinámico de la aplicación Flask

Paquetes de Python: urlparse, render_template, make_response

Como de costumbre, necesitamos esqueletizar las funciones fundamentales. Aquí está la lista de paquetes necesarios para desarrollar un mapa de sitio dinámico probado e increíble xml

  • from urllib . parse import urlparse
  • From flask import render_templte, make_response

En un momento daría más detalles sobre para qué sirve cada paquete en este plato.

Analizar el dominio superior de la aplicación

Lo primero es lo primero, es indispensable detectar la dirección de dominio de nivel superior antes de decidir mapear las URL. Para probar mejor el favor, aquí necesitamos el urlparse. A continuación se muestra una muestra de la siguiente manera:

   host_components = urlparse ( request . host_url )

   host_base = host_components . scheme + "://" + host_components . netloc

Lista de URL estáticas

Antes de generar cada URL, debemos separar las URL estáticas y dinámicas porque algunas de las rutas están configuradas por variables.

Necesitamos crear una lista de URL estáticas y determinar qué tipo de URL estáticas se agregarían a la lista. Aquí está el ejemplo de código de la siguiente manera:

   static_urls = list ()

   for rule in app . url_map . iter_rules ():

       if not str ( rule ). startswith ( "/inactive" ):

           if "GET" in rule . methods and len ( rule . arguments ) == 0 :

               url = {

                   "loc" : f " { host_base }{ str ( rule ) } "

}

               static_urls . append ( url )

Cocinar este plato necesita los métodos incorporados de Flask que son url_map, startswith

Lista de URL dinámicas

Para obtener la ruta URL variable, podríamos configurar un conjunto de datos en Mongo por adelantado y llamarlos en la función. Aquí está el ejemplo de código:

  dynamic_urls = list ()

dynamicURL variable = db .sample. find ({})

Plantilla XML de mapa del sitio

Para capturar la fuente de datos dinámica desde el lado del servidor, necesitamos usar Jinja2 en la plantilla html de frontend. Aquí está el ejemplo de código:

{% for url in static_urls %}

< url >

 < loc > {{ url["loc"] }} </ loc >

</ url >

{% endfor %}

{% for url in dynamic_urls %}

< url >

 < loc > {{ url["loc"] }} </ loc >

</ url >

{% endfor %}

Personaliza el encabezado de respuesta

Por último, pero no menos importante, debemos personalizar el encabezado xml del mapa del sitio que es diferente de otras rutas. Para personalizar el encabezado, podemos usar make_response

   response = make_response ( xml_sitemap )

   response . headers [ "Content-Type" ] = "application/xml"

Script de Python completo de XML de mapa de sitio dinámico

Scripts y comandos completos de la implementación de la aplicación Flask en AWS EC2

Si está interesado en el Capítulo 74: Flask App Dynamic Sitemap XML usando MongoDB, suscríbase a nuestro boletín agregando el mensaje 'Capítulo 74 + mapa del sitio dinámico del matraz' . Le enviaremos el guión inmediatamente a su buzón.

Espero que disfrute leyendo el Capítulo 74: Flask App Dynamic Sitemap XML usando MongoDB. Si lo hiciste, apóyanos haciendo una de las cosas que se enumeran a continuación, porque siempre ayuda a nuestro canal.

  • Apoya y dona a nuestro canal a través de PayPal ( paypal.me/Easy2digital )
  • Suscríbete a mi canal y activa la campanita de notificaciones Easy2Digital Youtube channel .
  • Sigue y dale me gusta a mi página Easy2Digital Facebook page
  • Comparte el artículo en tu red social con el hashtag #easy2digital
  • Te suscribes a nuestro boletín semanal para recibir los últimos artículos, videos y códigos de descuento de Easy2Digital
  • Suscríbase a nuestra membresía mensual a través de Patreon para disfrutar de beneficios exclusivos ( www.patreon.com/louisludigital )