2011-02-03 2 views
1

J'ai un blog écrit en django que j'essaye d'ajouter à la coloration syntaxique Les messages sont écrits et stockés dans la base de données en tant que balisage textile Voici comment ils sont supposés être rendu via le moteur de modèle:.Django/Textile/Pygments: "'> être échappé

{{body | textile | pygmentize | sécurité}}

Il rend tout le HTML correctement et que le code est mis en évidence, mais certains caractères dans les blocs de code sont en cours échappé Plus précisément guillemets doubles, guillemets simples et plus grands que des signes

Voici le filtre Pygments que j'utilise: http://djangosnippets.org/snippets/416/

Je ne suis pas sûr quel filtre met réellement les caractères échappés là ou comment le faire arrêter. Aucune suggestion?

Répondre

0

prise sans vergogne me répondre à cette autre page: https://stackoverflow.com/a/10138569/1224926

le problème est beautifulsoup (à juste titre) assume le code est dangereux. mais si vous l'analysez dans un arbre, et passez cela, cela fonctionne. Ainsi, votre ligne:

code.replaceWith(highlight(code.string, lexer, HtmlFormatter())) 

devrait devenir:

code.replaceWith(BeautifulSoup(highlight(code.string, lexer, HtmlFormatter()))) 

et vous obtenez ce que vous attendez.

Questions connexes