django 模版關閉轉義方式
django 模版顯示的html中出現(xiàn)'類似的ascii字符,這是由于django對單引號進行了轉義,可以通過關閉轉義解決html處理異常問題。
關閉django轉義的方法有如下兩種:
1.關閉單個模版變量的轉義:
利用"|safe" 過濾器告訴django這個變量不需要轉義, 如模版中:{{ data|sage }}
2.利用django模版標記關閉html或js塊轉義
{% autoescape off %}
code..
{% endautoescape %}
補充知識:Django使用mark_safe()和format_html()函數(shù)
django從view向template傳遞HTML字符串的時候,django默認不渲染此HTML,原因是為了防止這段字符串里面有惡意攻擊的代碼。
如果需要渲染這段字符串,需要在view里這樣寫:
from django.utils.safestring import mark_safe
def view(request):
....
pageHtml = mark_safe("<a href='#'>首頁</a>")
ret =
{"equit_cate_list":list,"count":count,"ecform":ecform,"page":page,"pageHtml":pageHtml}
return render(request, "list_equip_category.html",ret)
前端頁面直接使用{{pageHtml}}即可。
mark_safe這個函數(shù)就是確認這段函數(shù)是安全的,不是惡意攻擊的。
adminx中定義的一些插件等都是用mark_safe()進行渲染的。

format_html和mark_safe非常類似,本質還是調用mark_safe函數(shù),不同在于傳參方式,mark_safe直接傳遞完整的html字符串;
而format_html需要使用{}占位符:
format_html('<span style="color:{};">{}</span>', color_code, obj.approval)
以上這篇django 模版關閉轉義方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python之語句mode = 'test' if y&nb
這篇文章主要介紹了python之語句mode = 'test' if y is None else 'train'問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
Python __getattr__與__setattr__使用方法
__getattr__和__setattr__可以用來對屬性的設置和取值進行處理2008-09-09
Python中subplots_adjust函數(shù)的用法
這篇文章主要介紹了Python中subplots_adjust函數(shù)的用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Python常用字符串替換函數(shù)strip、replace及sub用法示例
這篇文章主要介紹了Python常用字符串替換函數(shù)strip、replace及sub用法,結合實例形式分析了Python針對字符串替換的常用函數(shù)strip、replace及sub功能及簡單使用技巧,需要的朋友可以參考下2018-05-05

