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

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

当你在主应用中使用 Flask 初始化时,实际上是在告诉 Flask 主应用的静态文件和模板文件应该在哪里查找。这对于主应用本身是必需的,但如果项目中还包含多个 Blueprint,每个 Blueprint 也应该有自己的 static_foldertemplate_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'
)

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

相关推荐
测试199823 分钟前
使用Python自动化生成接口测试用例
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
智算菩萨1 小时前
【Pygame】第10章 游戏状态管理与场景切换机制
python·游戏·pygame
songcream11 小时前
TensorFlow的一些基本概念
人工智能·python·tensorflow
AI逐月2 小时前
解决 ComfyUI 插件安装后 Nanobind 报错问题:soxr 版本冲突原理解读
开发语言·python
AC赳赳老秦2 小时前
Windows 系统 OpenClaw 执行策略报错及管理员权限设置深度解析与实操指南
运维·人工智能·python·django·自动化·媒体·openclaw
软件开发技术深度爱好者3 小时前
用python + pillow实现GUI界面图片GUI处理工具
开发语言·python
FreakStudio3 小时前
ESP32 实现在线动态安装库和自动依赖安装-使用uPyPI包管理平台
python·单片机·嵌入式·面向对象·电子diy·sourcetrail
别抢我的锅包肉3 小时前
【FastAPI】 响应类型详解:从默认 JSON 到自定义响应
python·fastapi
智算菩萨3 小时前
【Tkinter】15 样式与主题深度解析:ttk 主题系统、Style 对象与跨平台样式管理实战
开发语言·python·ui·ai编程·tkinter