通过在模板中比对 `request.endpoint` 与路由端点名,可自动为 bootstrap 5 导航项添加 `active` 类,实现点击后持久高亮,无需手动传递变量。
在 Flask 应用中集成 Bootstrap 5 导航栏时,常遇到“点击后 active 类不持久”的问题——这通常是因为依赖前端行为(如 hover)或错误地使用了静态模板变量(如 active_page = "edit_profile.html"),而未真正关联当前请求的路由上下文。
正确做法是利用 Flask 的 request.endpoint 属性:它返回当前请求所匹配视图函数的完整端点名(如 'auth.edit_profile'),该值在每次请求时由 Flask 自动注入,精准反映用户实际访问的页面,无需在每个子模板中手动设置变量。
以下是推荐的实现方式(适配 Bootstrap 5 语义结构):
✅ 关键要点说明:
⚠️ 注意事项:
ion_name);可通过 flask routes 命令查看全部端点列表; 此方案简洁、可靠、零侵入,是 Flask + Bootstrap 5 导航高亮的标准实践。