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

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

相关推荐
Python图像识别10 分钟前
75_基于深度学习的咖啡叶片病害检测系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
python·深度学习·yolo
闲人编程13 分钟前
Python游戏开发入门:Pygame实战
开发语言·python·游戏·pygame·毕设·codecapsule
雍凉明月夜1 小时前
人工智能学习中深度学习之python基础之 类
python·学习
Geo_V1 小时前
OpenAI 大模型 API 使用示例
python·chatgpt·openai·大模型应用·llm 开发
Hello_WOAIAI1 小时前
2.4 python装饰器在 Web 框架和测试中的实战应用
开发语言·前端·python
百锦再2 小时前
第1章 Rust语言概述
java·开发语言·人工智能·python·rust·go·1024程序员节
tokepson2 小时前
chatgpt-to-md优化并重新复习
python·ai·技术·pypi·记录
Victory_orsh2 小时前
“自然搞懂”深度学习(基于Pytorch架构)——010203
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
java1234_小锋2 小时前
PyTorch2 Python深度学习 - 模型保存与加载
开发语言·python·深度学习·pytorch2
Python图像识别2 小时前
74_基于深度学习的垃圾桶垃圾溢出检测系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
python·深度学习·yolo