gpt4 book ai didi

python - 为什么 render_to_response 无法正常工作

转载 作者:行者123 更新时间:2023-11-30 23:43:58 24 4
gpt4 key购买 nike

这是我的代码片段。

soup=BeautifulSoup(html_document)
tabulka=soup.find("table",width="100%")
dls=tabulka.findAll("dl",{"class":"resultClassify"})
tps=tabulka.findAll("div",{"class":"pageT clearfix"})
return render_to_response('result.html',{'search_key':search_key,'turnpages
':tps,'bookmarks':dls})

我检查了dls,它是一个只包含一个html标签的字典

<dl>label contents contains some <dd> labels</dl>  

但是将 dls 传递给 render_to_response 后,结果不正确。result.html中对应的模板代码为:

{% if bookmarks %}
{% for bookmark in bookmarks %}
{{bookmark|safe}}
{% endfor %}
{% else %}
<p>No bookmarks found.</p>
{% endif %}

输出结果html包含这样的python字典格式:

[<dd>some html</dd>,<dd>some html</dd>,<dd>some html</dd>,...]

这出现在输出 html 中。这很奇怪。这是 renfer_to_response 的错误吗?

最佳答案

嗯,dls是一个Python列表,包含所有匹配元素的文本。 render_to_response 不知道如何处理列表,因此它只是将其转换为字符串。如果您想将所有元素作为 HTML 插入,请尝试将它们连接到单个文本中,如下所示:

dls = "".join(dls)

请注意,这样做会将其他来源的实时 HTML 粘贴到您自己的页面中,这可能不安全。 (如果其中一个 dds 包含恶意 Javascript,会发生什么?您信任该 HTML 的提供者吗?)

关于python - 为什么 render_to_response 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10443158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com