You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Flask应用中templates文件夹的绝对路径?

获取Flask应用中templates文件夹的绝对路径

要实现类似app.get_absolute_path_to_templates()的功能,你可以利用Flask实例自带的属性快速获取,或者封装成自定义方法:

方法1:直接拼接路径(最简方案)

Flask实例的app.root_path会返回应用根目录的绝对路径,app.template_folder是模板文件夹的名称(默认值为'templates'),用os.path.join拼接即可得到绝对路径:

import os
from flask import Flask

app = Flask(__name__)

# 获取templates绝对路径
templates_abs_path = os.path.join(app.root_path, app.template_folder)

方法2:封装为自定义实例方法

如果想实现你期望的app.get_absolute_path_to_templates()调用方式,可以通过两种方式扩展:

方式A:给已有实例绑定方法

import os
from flask import Flask

app = Flask(__name__)

def get_absolute_path_to_templates(self):
    return os.path.join(self.root_path, self.template_folder)

# 把方法绑定到Flask实例上
app.get_absolute_path_to_templates = get_absolute_path_to_templates.__get__(app, Flask)

# 调用示例
print(app.get_absolute_path_to_templates())

方式B:继承Flask类(适合多实例场景)

如果项目需要创建多个Flask实例,推荐继承Flask类扩展功能:

import os
from flask import Flask

class CustomFlask(Flask):
    def get_absolute_path_to_templates(self):
        return os.path.join(self.root_path, self.template_folder)

# 初始化自定义Flask应用
app = CustomFlask(__name__)

# 调用自定义方法
templates_path = app.get_absolute_path_to_templates()

说明

  • app.root_path是Flask自动检测的应用根目录(会根据__name__参数自动识别),无需手动指定
  • os.path.join会根据操作系统自动处理路径分隔符,保证跨平台兼容性

内容的提问来源于stack exchange,提问作者DanC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 18:12:39