【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'
)

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

相关推荐
一木 之林7 分钟前
Python.六.(一)--1.标准库、常用工具与基础操作(进阶)
python·rpc·dubbo
月光船幽幽26 分钟前
铁牌协议卡:节流与重构
python·重构
骇客野人1 小时前
Linux 服务器 Python 版 MCP 服务部署整体方案(适配 Claude/Cursor/自研Agent)
linux·服务器·python
AI视觉网奇1 小时前
动作识别 视频理解大模型
开发语言·python·音视频
Java尧哥学AI1 小时前
35岁Java程序员学AI Day2:从装环境到写第一行Python,踩了3个坑
python
zhiSiBuYu05172 小时前
Flask Session 与 Cookie 新手实战指南
后端·python·flask
码云骑士2 小时前
104-实战论文搜索引擎-ArXiv爬取-Milvus存储-RAG问答-Gradio前端
前端·python·搜索引擎·milvus
比高创意品牌策划设计2 小时前
零售卖场门头设计怎么做才显眼
python
鬼手点金2 小时前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
存在morning2 小时前
【Python 开发实践 一】Python vs Go vs Java 三门语言对比
java·python·golang