html - jinja 中 set 和 with 有什么区别

标签 html flask jinja2

我是计算机科学的初学者,正在尝试使用 python Flask 框架创建一个网络服务器。

在教程中,我在 HTML 中看到了以下 jinja 用法:

  1. {% set a = somefunction() %}

  2. {% with a = somefunction() %}

我可以知道有什么区别吗?谢谢。

最佳答案

虽然您可以使用 {% set %} 定义变量,但 {% with %} 语句另外创建一个新作用域,可以使用 {% endwith %} 语句。

例如:

{% with myvar=1 %}
    ...
{% endwith %}

myvar 仅在相应的 endwith 之前可用。

您还可以使用 with 创建本地范围:

{% with %}
    {% set myvar=1 %}
    ...
{% endwith %}

myvar 仅在给定范围内可用。

您可以找到有关这些声明的信息 here (此处显示的示例也取自那里)。

关于html - jinja 中 set 和 with 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53132094/

相关文章:

html - 可下载的 html5 和 css3 压缩器?

python - 无法在 Visual Studio Code 中调试 Flask 应用程序

python - 可汗学院的语言本地化

python - 用 pip3 安装了 j2cli 和 jinja2 但找不到如何运行 j2cli

javascript - 获取响应时出现问题

javascript - 如何从外部url访问json内容

html - 如何在 bootstrap cols 中根据屏幕尺寸重新定位一行 6 张图像?

python - 放置请求 python Flask

mysql - Flask-MySQLdb 引发 _mysql_exceptions.ProgrammingError : closing a closed connection

python - 呈现模板给出 "jinja2.exceptions.UndefinedError: ' 形式'未定义'