Bonjour,
Grand débutant et utilisant très peu Python, je vais essayé de structurer ma question .
J'utilise un vieux script pour créer un fichier.xml. En entrée j'ai un fichier de data (chaînes de cactères) et un template (utilisation de Django).Mon script répondait tout à fait à mes besoins tant que je n'avais pas décidé d'inclure les caractères < et > qui sont destinés à du markup dans un site (création d'une liste html)
Donc, ma question est : comment éviter de transformer par exemple : < en < ?
Apparemment mon problème se situe au moment ou les data sont traitées en utilisant le template (problème Python ou Django ?) . Voici un résumé de ce que j'ai (vue partielle du script avec affichage des chaînes de caractères obtenues à chaque étape)
Merci de votre aide .
----------------------------------------------------------
En entrée la chaîne de caractères manipulée :
"<ul><li> Élement1 </li><li> élement2 </li></ul>"
Résultat en sortie :
"<ul><li> Élement1 </li><li> élement2 </li></ul>"
Mon besoin en sortie :
"<ul><li> Élement1 </li><li> élement2 </li></ul>"
== Mon script ====
import django
-------------------------------------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import django from django.conf import settings from django.template import Template, Context DATA_FILE = 'input00.txt' a, b, c,d = 1, 1.65, 100,0 .... .... DATA['myloops'] = list_dict print(DATA) # display : "<ul><li> Élement1 </li><li> élement2 </li></ul>" with open('template00.xml', 'r') as f: template_str = f.read() settings.configure() # Set-up Django before using its functionalities django.setup() t = Template(template_str) # Django Template object c = Context(DATA) # Django Context object final_xml = t.render(c) # returns a Python string print(final_xml) # Display : "<ul><li> Élement1 </li><li> élement2 </li></ul> with open('output00.xml', 'w', encoding='utf-8') as f: f.write(final_xml) # in output file output00.xml : "<ul><li> Élement1 </li><li> élement2 </li></ul>"
Partager