所以基本上我正在使用Bottle for Python 编写一个 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 的响应速度非常快!