2017-03-17 69 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

相關問題