2017-03-17 72 views
0

我的视图返回一个Model对象,该对象具有一个值为HTML代码的字段。如何安全地在Django模板中的div中呈现html

def my_view(request): 
    ob = MyModel.objects.get(pk=1) 
    print ob.html # "<div> Description <span> number </span>" 
    return render(request,'page.html',{'ob':ob}) 

一些我的html值都不能正常闭合的标签,如

<div> Description <span> number </span> 

如果我在喜欢的模板渲染价值{{ob.html |安全}},它破坏了父元素结构,我的页面没有按照我的设计进行对齐。

如何安全地放置该HTML代码而不会破坏父母结构。

+0

嗯...可能[this](http://stackoverflow.com/questions/293482/how-do-i-fix-wrongly-nested-unclosed-html-tags)可以派上用场吗? –

+1

可能的重复[如何修复错误嵌套/未关闭的HTML标签?](http://stackoverflow.com/questions/293482/how-doi-i-fix-wrongly-nested-unclosed-html-tags) – Nrzonline

回答

0

一种选择是使用bleach消毒的内容:因为它依赖于html5lib

,漂白是作为 现代浏览器处理古怪,古怪的HTML片段一样好。而任何漂白剂的方法 将修复不平衡或错误嵌套的标签。

您可以通过django-bleach使用它,随时可以使用filter for your templates

相关问题