【发布时间】:2013-06-20 13:17:25
【问题描述】:
所以基本上我正在为 Python 使用 Bottle 编写一个 Web 应用程序。但是我遇到了一个非常奇怪和令人沮丧的错误:每当我尝试通过代码放置任何 HTML 代码时,它都会将它们转换为 HTML 实体。在这里,我最好让代码解释一下:
def fillFlist():
files = os.listdir('Files/FS/')
tFlist = []
for item in files:
tFlist.append('<tr><td>')
tFlist.append(item)
tFlist.append('</td><td>')
tFlist.append('<a href="localhost/delete/' + item + '">Delete</a></td></tr>')
tempO = ''
tempI = tempO.join(tFlist)
print(tempI)
return tempI
基本上有一个系统会遍历文件并为每个文件创建一个表格行,并添加一个链接以删除文件。然后你可以看到加入表格来创建一个字符串,然后这个字符串会被插入到 HTML 中来创建一个表格,但是我最终得到的不是一个漂亮的表格:
<tr><td>test.txt</td><td><a href="localhost/delete/hello.txt">Delete</a></td></tr>
在页面上直截了当。我一直在用谷歌搜索试图解决这个问题,但一无所获。一些额外的说明可以帮助您:
Cookie = request.get_cookie('uploaded')
Flist = fillFlist()
return template(loadHTML('index.html'), flist=Flist, cookie=Cookie)
这基本上就是将表格插入 HTML 文件的意思,通过这样做:
{{flist}}
基本上,我把它放在 HTML 代码中的任何地方,上面的模板需要一个字符串放在它的位置,所以每当页面加载时,无论该字符串中的内容是什么,都会放在 {{varname }} 是。
祝你好运,提前谢谢你!
编辑 1:
我还发现它根本没有在我的代码中被转换,所以它在它放在网页上时就被转换了?我不知道,我想这就是我在这里的原因。
编辑 2:
我解决了这个问题,当我将 HTML 代码行解析到网页时(使用 {{varname}} 方法),它会将特殊字符转换为实体。因此,在键盘上苦苦挣扎了一整天,尝试了不同的方法后,我使用一些基本的文件 I/O 和一些 iFrame 修复了这个问题。但是谢谢大家的回复!很高兴看到 stackoverflow 的响应速度非常快!
【问题讨论】:
-
我想我可以帮助你,但首先请帮助我准确理解你在问什么。您的问题的标题是关于 HTML 实体的,但问题文本中的任何地方都没有提到这些实体。此外,您暗示您得到了意外的输出,但您显示的输出与您的代码一致。有什么帮助是:您/期望/看到的输出是什么? (“nice table”和“raw output”是什么意思?)