Flask App Sitemap dynamique XML utilisant MongoDB | Easy2Digital
Cet article va parler du développement d’un sitemap xml dynamique pour votre application Flask, ce qui ne prend que quelques minutes
À quoi ressemble une journée glaciale si vous créez un sitemap et que vous le mettez à jour manuellement à chaque fois. Ou payer un abonnement mensuel récurrent pour juste un deuxième travail unique n'est pas non plus une décision intelligente.
Si vous cherchez une meilleure façon comme la sensation de manger une meilleure viande de bœuf persillée, cette pièce est là pour vous. Cet article va parler du développement d'un sitemap xml dynamique pour votre application Flask. Allons-y!
Table des matières : didacticiel XML sur le plan de site dynamique de l'application Flask
- Paquets Python :
urlparse, render_template, make_response
- Analyser le domaine de premier niveau
- Liste d'URL statiques
- Liste d'URL dynamiques
- Modèle XML de plan de site
- Personnaliser l'en-tête de réponse
- Script Python complet du plan de site dynamique XML
Paquets Python : urlparse, render_template, make_response
Comme d'habitude, nous devons squelettiser les fonctions fondamentales. Voici la liste des packages nécessaires au développement d'un plan de site dynamique xml savoureux et incroyable
-
from urllib . parse import urlparse
-
From flask import render_templte, make_response
Dans un instant, je passerais en revue plus de détails sur la raison d'être de chaque paquet dans ce plat.
Analyser le domaine supérieur de l'application
Tout d'abord, repérer l'adresse du domaine de premier niveau est indispensable avant de décider de mapper les URL. Pour mieux goûter la faveur, nous avons besoin ici de l'urlparse. Ci-dessous un exemple comme suit :
host_components = urlparse ( request . host_url )
host_base = host_components . scheme + "://" + host_components . netloc
Liste d'URL statiques
Avant de générer chaque URL, nous devons séparer les URL statiques et dynamiques car certaines routes sont définies par des variables.
Nous devons créer une liste d'URL statiques et définir le type d'URL statiques à ajouter à la liste. Voici l'exemple de code comme suit :
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 )
La cuisson de ce plat nécessite les méthodes intégrées Flask qui sont url_map, startswith
Liste d'URL dynamiques
Pour récupérer le chemin d'URL variable, nous pourrions configurer à l'avance un ensemble de données dans Mongo et les appeler dans la fonction. Voici l'exemple de code :
dynamic_urls = list ()
dynamicURL variable = db .sample. find ({})
Modèle XML de plan de site
Pour capturer le flux de données dynamique côté serveur, nous devons utiliser Jinja2 dans le modèle HTML frontal. Voici l'exemple de code :
{% for url in static_urls %}
< url >
< loc > {{ url["loc"] }} </ loc >
</ url >
{% endfor %}
{% for url in dynamic_urls %}
< url >
< loc > {{ url["loc"] }} </ loc >
</ url >
{% endfor %}
Personnaliser l'en-tête de réponse
Enfin, nous devons personnaliser l'en-tête xml du sitemap qui est différent des autres itinéraires. Pour personnaliser l'en-tête, nous pouvons utiliser make_response
response = make_response ( xml_sitemap )
response . headers [ "Content-Type" ] = "application/xml"
Script Python complet du plan de site dynamique XML
Scripts et commandes complets du déploiement de l'application Flask sur AWS EC2
Si vous êtes intéressé par le Chapitre 74 – Flask App Dynamic Sitemap XML Using MongoDB, merci de vous inscrire à notre newsletter en ajoutant le message 'Chapter 74 + flask dynamic sitemap' . Nous vous enverrions le script immédiatement dans votre boîte aux lettres.
J'espère que vous apprécierez la lecture du chapitre 74 – Flask App Dynamic Sitemap XML Using MongoDB. Si vous l'avez fait, veuillez nous soutenir en faisant l'une des choses énumérées ci-dessous, car cela aide toujours notre chaîne.
- Soutenez et faites un don à notre chaîne via PayPal ( paypal.me/Easy2digital )
- Abonnez-vous à ma chaîne et activez la cloche de notification Chaîne Youtube Easy2Digital .
- Suivez et aimez ma page Page Facebook Easy2Digital
- Partagez l'article sur votre réseau social avec le hashtag #easy2digital
- Vous vous inscrivez à notre newsletter hebdomadaire pour recevoir les derniers articles, vidéos et codes de réduction Easy2Digital
- Abonnez-vous à notre abonnement mensuel via Patreon pour profiter d'avantages exclusifs ( www.patreon.com/louisludigital )