django 将HTML 传递到前台

django从view向template传递HTML字符串的时候,django默认不渲染此HTML,原因是为了防止这段字符串里面有恶意攻击的代码。

如果需要渲染这段字符串,需要在view里这样写:

from django.utils.safestring import mark_safe

函数里面这样写:
pageHtml = mark_safe("<a href='{%url equip:listEquipmentCategory 1 %}'>首页</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这个函数就是确认这段函数是安全的,不是恶意攻击的。



作者:BlueCat2016
链接:https://www.jianshu.com/p/5b304cb7c397
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文地址:https://www.cnblogs.com/ttym88m/p/15126653.html