Python中bottle框架的视图无法调用模板文件怎么办?
1 回复
这个问题通常是模板路径没设对。Bottle默认在当前目录的views/文件夹里找模板,你得确保文件放对了地方。
最直接的解决办法是明确指定模板目录。在你的应用文件里,加这么几行:
from bottle import Bottle, run, template
import os
app = Bottle()
# 关键在这里:设置模板路径
# 假设你的模板文件放在项目根目录下的 'templates' 文件夹里
current_dir = os.path.dirname(os.path.abspath(__file__))
template_path = os.path.join(current_dir, 'templates')
# 方法一:修改Bottle的TEMPLATE_PATH(影响全局)
app.TEMPLATE_PATH.insert(0, template_path)
# 或者方法二:在调用template()函数时直接指定路径(更推荐,更清晰)
@app.route('/')
def index():
# 使用绝对路径确保找到文件
return template(os.path.join(template_path, 'index.tpl'), name='World')
if __name__ == '__main__':
run(app, host='localhost', port=8080)
检查这几点:
__file__能正确获取当前脚本路径。templates/index.tpl这个文件确实存在。- 如果你用
SimpleTemplate,模板文件扩展名得是.tpl。
用绝对路径设模板目录最省心。

