像SpringBoot一样使用Flask - 2.静态资源访问及模版

一、安装并导入 render_template

功能:渲染/加载模板,一般是html页面

参数:函数的第一个参数是模板的文件名,必填,后面的参数都是键值对,表示模板中变量对应的值,非必填 (不填界面也不会展示成变量名,只是不填则不渲染)。

二、修改app主入口配置,类似SpringBoot的yaml配置。

python 复制代码
from flask import Flask, render_template

app = Flask(__name__,
            static_url_path='/',  # 配置静态文件的访问 url 前缀)
            static_folder='static',  # 配置静态文件的文件夹
            template_folder='templates'  # 配置模板文件的文件夹
            )

static_url_path和static_folder写上去,可以在引用css/js可以更好的用/代替写相对路径,不用看到../../类似的写法

三、测试

增加测试请求/index

python 复制代码
name = '小明'
year = '2024'


@app.route('/index')
def happy_new_year():
    return render_template('test/index.html', name=name, year=year)

controller

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><title>{{ year }} 新年快乐</title>
</head>
<link rel="stylesheet" href="/test/index.css">
<body>
    <h2 id="indexId">你好 {{ name }} , 祝你 {{ year }} 平安喜乐,玩好Flask</h2>
</body>
</html>

index.html

css 复制代码
#indexId{
    color: aquamarine;
}

index.css

目录结构

四、运行

五、总结

这个很像springboot里面的Thymeleaf。重点在配置上,避免后续static路径,项目一增加,看着有点乱。建议写上去,少一点../../,增加代码可读性

相关推荐
神奇小汤圆1 天前
MyBatis、MyBatis-Plus、通用 Mapper:一张图说清三者的血缘关系
后端
tkevinjd1 天前
MiniCode 项目详解7:Memory 记忆系统
大数据·python·搜索引擎·llm·agent
SamDeepThinking1 天前
微信支付对接实战:从下单到回调的完整落地过程
后端·程序员·架构
郭老二1 天前
【Python】Web框架 FastAPI 详解
python·fastapi
神奇小汤圆1 天前
架构师必备:分布式锁方案选型
后端
DFT计算杂谈1 天前
交错磁研究进展材料物性与交叉应用
数据库·人工智能·python·opencv·算法
敖行客 Allthinker1 天前
docker容器安装Python反推镜像步骤(适用于临时调试用)
python·docker·容器
shengjk11 天前
付费上班的时代,真的来了
后端
玉鸯1 天前
旧概念还是新范式?Agent 框架集体"图化"背后的矛盾与必然
后端·llm·agent
倾颜1 天前
断线之后,不要重跑 AI:在 POST + NDJSON 中实现可恢复 Agent 流
前端·后端·agent