这是我的代码片段。
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标签的dict
<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 的错误吗?