【PythonWeb开发】Flask自定义模板路径和静态资源路径

在大型的 Flask 项目中,确实可能会有多个子应用(Blueprints),每个子应用可能都有自己的静态文件和模板。为了更好地管理和组织这些资源,可以使用**static_folder** 和**template_folder**属性来统一管理。必须同时设置好主应用APP和蓝图子应用Blueprint中的路径属性。

当你在主应用中使用 Flask 初始化时,实际上是在告诉 Flask 主应用的静态文件和模板文件应该在哪里查找。这对于主应用本身是必需的,但如果项目中还包含多个 Blueprint,每个 Blueprint 也应该有自己的 static_folder 和 template_folder,以避免资源冲突和混乱。

python 复制代码
from flask import Flask

# 主应用的静态文件和模板文件夹
main_static_folder = 'path/to/main/static'
main_template_folder = 'path/to/main/templates'

app = Flask(
    __name__, 
    static_folder=main_static_folder, 
    template_folder=main_template_folder
)

在创建 Blueprint 实例时,可以指定 static_folder 和 **template_folder**参数,以告诉 Flask 这个 Blueprint 的静态文件和模板文件位于何处。

python 复制代码
from flask import Blueprint

# 创建一个 Blueprint 对象,指定其静态文件和模板文件的路径
bp = Blueprint(
    'my_blueprint',
    __name__,
    static_folder='path/to/static',
    template_folder='path/to/templates'
)

集中管理的好处是更容易维护和管理所有的静态文件和模板,而且可以减少服务器上的文件夹数量和层级深度。

相关推荐
BD_Marathon5 分钟前
消息对象中字段的说明
java·前端·python
Java后端的Ai之路11 分钟前
Python进阶探索23 - Python中的Time与Datetime模块
开发语言·数据库·python·datetime·time
Java后端的Ai之路1 小时前
Python进阶探索24_应用案例_linux系统的监控
linux·开发语言·python·应用·探索
happylifetree1 小时前
Python22-26:核心语法-流程控制语句-if条件判断
python
程序员清风1 小时前
PydanticAI 实战:用类型安全构建可靠的 Python Agent
开发语言·python·安全
梦想画家2 小时前
SQLMesh Python 模型入门(三):前后置语句、蓝图建模与避坑指南
大数据·python·sqlmesh
迅猛龙办公室2 小时前
Python实现绘制同切圆
开发语言·python
言乐63 小时前
Python语音检索
开发语言·python·django·virtualenv·pygame
泡茶喝茶写代码3 小时前
A股量化数据工程:从 REST 接口到策略信号(第 1 篇):指数列表与实时行情接入
java·python·股票数据api·股票数据·股票数据api接口·股票api数据接口·股票量化数据接口
happylifetree3 小时前
Python34-35:核心语法-流程控制语句-循环-综合案例
python