我在与瓶蟒蛇的问题,我有以下代码瓶蟒蛇渲染可变文本和不是HTML
import glob
import os
from bottle import run, route, error, template
from Find_Posts import hyperlink_postnames
currentdir = os.getcwd()
def hyperlink_postnames():
hyperlink_filelist = []
os.chdir(currentdir + "\\Blog_Posts\\")
for files in glob.glob("*.txt"):
hyperlink_filelist.append('' + str(os.path.splitext(files)[0]) + '')
return hyperlink_filelist
返回下面的列表
['post1', 'post2', 'post3', 'post4', 'post5', 'post6']
这又喂给以下的瓶装路线:
@route('/blog/')
def postnames():
postlist = hyperlink_postnames()
tpl_out = template('blogroll', postlist = postlist)
return tpl_out
它被送入blogroll.tpl模板:
Blog Roll
%for postlist in postlist:
{{ postlist }}%end
我的问题是,当我呈现在浏览器中它把postlist变量模板为纯文本,而不是HTML(这是什么列表里面写的)的模板,但是,如果我改变瓶子代码这样写的(绕过模板)它呈现postlist变量作为HTML,但不是这使得代码没用的模板中:
@route('/blog/')
def postnames():
postlist = hyperlink_postnames()
tpl_out = template('blogroll', postlist = postlist)
return postlist #return the variable directly bypassing the template renders the list as html
没有任何人有任何想法,为什么会这样呢?