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 或渲染字段为空时,应该怎样排查?
追问 模板目录、蓝图查找顺序、文件名、传入变量和实际数据结构分别如何核对?