2010-10-21 6 views
2

J'utilise l'application inline de Django-Basic-Apps pour insérer des images dans Blogposts. Mais dans certains modèles, je ne veux pas que les images apparaissent. Il ne suffit pas de ne pas les rendre, je ne veux même pas que le code inline soit dans le HTML. Est-il possible de supprimer le code en ligne avec un filtre? J'ai essayé d'utiliser le filtre "| cut", mais ce n'est pas assez flexible. Je suppose que je devrais écrire mon propre templatetag pour m'occuper de ceci, mais je suis assez nouveau à Python et à Django et ne fais pas maintenant comment cela fonctionne.Suppression du code en ligne de html

+0

http://stackoverflow.com/questions/2295942/pythons-equivalent-to-phps-strip-tags peut vous être utile. – ceejayoz

+0

Cela semble très prometteur, je vais essayer. Merci de votre aide. –

Répondre

0

Si quelqu'un est intéressé, voici ma solution:

@register.filter 
def del_inlines(value): 

    soup = BeautifulStoneSoup(value, selfClosingTags=['inline']) 
    inlines = soup.findAll('inline') 
    [inline.extract() for inline in inlines] 
    return soup 

BeautifulSoup est tout simplement génial!

Questions connexes