【问题标题】:When should you use python flask conditionals vs jinja2 html template conditionals?什么时候应该使用 python flask 条件和 jinja2 html 模板条件?
【发布时间】:2019-06-30 22:46:34
【问题描述】:

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

【问题讨论】:

  • 嗨,鲍勃。我想说的经验法则是“让你的模板只关心渲染数据”。模板中的条件应该主要关注显示应用程序传入的数据。如果传递的列表为空,请在模板中使用条件来显示“无项目”消息,但要避免触发进一步数据库或外部 API 的事情来电。

标签: python flask jinja2 web-development-server


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-19
    • 2016-12-03
    • 1970-01-01
    • 2010-09-09
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多