首页 > 解决方案 > 什么时候应该使用 python flask 条件和 jinja2 html 模板条件?

问题描述

我什么时候在模板中使用条件,而不仅仅是在调用包含模板的 html 文件的后端函数中使用条件?

标签: pythonflaskjinja2web-development-server

解决方案


这在某种程度上是一个哲学问题,因此与“基于意见”的边界有关,但是我觉得这里有一篇关于业务逻辑与数据分离的好论文。

模板应包含数据。该数据可能不是静态的,此时您将使用模板条件。如果未经身份验证的用户访问您的页面,您的页面可能希望看起来不同,或者您的页面可能希望允许用户更改日期格式等。

后端功能应该可以工作。这是业务逻辑,这里的条件应该反映这一点。查询用户会话以查看他们的语言环境并更改此处的数据格式是不合适的——这不是 UI 逻辑的业务逻辑。这里的条件应该影响数据库查找、API 调用或其他可能具有比“用户如何感知正在呈现的数据”更深远的副作用的事情。


推荐阅读