Python 如何在不显式转义的情况下保存字符串?
我试图让我的基于Django的API以字符串形式返回HTML片段。我正在通过BeautifulSoup bs4元素检索HTML片段。要将其转换为字符串,我只需使用Python 如何在不显式转义的情况下保存字符串?,python,django,python-3.x,beautifulsoup,Python,Django,Python 3.x,Beautifulsoup,我试图让我的基于Django的API以字符串形式返回HTML片段。我正在通过BeautifulSoup bs4元素检索HTML片段。要将其转换为字符串,我只需使用str()操作,如下所示: test['key']=str(bs4_元素) 但是,当我从API调用中检索此值时,我会得到HTML代码,其中插入反斜杠字符以转义特殊字符,有点像这样: "key": "<div class=\"hackdown\"><style id=\"MathJax_SVG_styles\">
str()
操作,如下所示:
test['key']=str(bs4_元素)
但是,当我从API调用中检索此值时,我会得到HTML代码,其中插入反斜杠字符以转义特殊字符,有点像这样:
"key": "<div class=\"hackdown\"><style id=\"MathJax_SVG_styles\">...
“键”:。。。
我想在浏览器中呈现检索到的HTML,但是,引入的反斜杠字符不允许我这样做
如何转换bs4元素以防止上述情况发生?如何渲染?使用此字符串时,它应该跳过\n-请参阅
print(“”
给出正常字符串
顺便说一句:如果在Django
中渲染字符串HTML(或Flask
)然后您可能必须使用选项safe
,因为Django
(Flask
)出于安全原因,可能会添加斜杠,因此BeautifulSoup
可能没有问题,请参阅Django doc:@furas我并不是真的亲自渲染它。我的目标是设计一个API,以便调用它的任何人都可以获得格式良好的HTML片段,他们可以直接将其作为HTML插入页面中。在当前的形式中,响应不能被使用直接无需预处理。顺便说一句:如果您的API以JSON格式发送数据,那么模块JSON
会向每个“
添加\以删除正确的JSON数据-因为JSON使用“
作为数据中字符串的开头和结尾。但通常客户端使用modulejson
将字符串转换回Python字典,并自动从字符串中删除该\项。这样,客户端通常不会遇到字符串中的\的问题。请参阅“将数据转换为JSONprint(JSON.dumps(“”))
并将JSON转换回数据print(JSON.loads(JSON.dumps(“”))