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
- Analizar el dominio de nivel superior
- Lista de URL estáticas
- Lista de URL dinámicas
- Plantilla XML de mapa del sitio
- Personaliza el encabezado de respuesta
- Script de Python completo de XML de mapa de sitio dinámico
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 )