超超哥AI云计算超哥讲AI 出品

社群入口

AI 超哥 Codex 副业群

扫码加入群聊,一起交流 AI、Codex 与副业实践。

原图注明二维码于10月20日前有效;若提示过期或无法入群,请等待更新二维码。

AI 超哥 Codex 副业群入群二维码在新窗口打开原图

Jinja 模板与页面组织

Flask Web 开发#Python全栈#第十阶段#Flask Web 开发#Jinja 模板与页面组织约 701 字 · 2 分钟阅读
追问显示
点击任意追问卡片可收起 / 展开

render_template 怎样把 Python 数据传给页面?

追问 模板中的变量名与视图参数有什么对应关系?模板渲染发生在服务器还是用户浏览器?

Jinja 的变量输出、控制语句与注释分别怎样书写?

追问 如何显示列表、判断空结果并呈现不同用户状态,避免把大量业务逻辑搬进模板?

模板继承中的 extends 与 block 怎样复用页面布局?

追问 导航、页脚和页面主体如何组织?子模板需要保留父区块内容时可以怎样处理?

include 与宏各适合怎样的模板复用?

追问 固定片段与带参数的表单控件应如何选择?如何避免模板对不明确的外部变量产生隐式依赖?

模板过滤器有什么作用,什么时候适合自定义过滤器?

追问 日期格式和显示文本怎样处理?涉及数据库查询或业务授权的逻辑为什么不宜藏在格式化过滤器中?

Flask 的 HTML 模板自动转义解决什么问题?

追问 safe 或 Markup 会改变什么?为什么直接用 Python 拼接 HTML 返回,不等于已经获得模板的转义保护?

怎样把后端数据安全传给页面中的 JavaScript?

追问 tojson 与直接把字符串拼进脚本有什么差别?HTML 属性、脚本内容和 URL 各自的输出上下文为何需要区分?

模板如何引用静态 CSS、JavaScript 和图片?

追问 为什么应通过 static endpoint 生成地址?文件不存在与路径构建错误怎样排查?

模板上下文处理器适合提供哪些公共信息?

追问 当前用户展示信息与站点标题如何注入?怎样避免每次渲染都执行昂贵或带副作用的操作?

出现 TemplateNotFound 或渲染字段为空时,应该怎样排查?

追问 模板目录、蓝图查找顺序、文件名、传入变量和实际数据结构分别如何核对?