标签: jinja2

在jinja2模板中获取列表的长度

如何获取jinja2模板中列表中的元素数量?

例如,在Python中:

print(template.render(products=[???]))
Run Code Online (Sandbox Code Playgroud)

在jinja2

<span>You have {{what goes here?}} products</span>
Run Code Online (Sandbox Code Playgroud)

python jinja2

288
推荐指数
4
解决办法
21万
查看次数

在jinja中设置变量

我想知道如何在jinja中使用另一个变量设置变量.我会解释,我有一个子菜单,我想显示哪个链接是活动的.我试过这个:

{% set active_link = {{recordtype}} -%}
Run Code Online (Sandbox Code Playgroud)

其中recordtype是为我的模板指定的变量.

python variables templates variable-assignment jinja2

219
推荐指数
4
解决办法
20万
查看次数

Python:如何在Jinja2中格式化日期?

使用Jinja2,如何格式化日期字段?我知道在Python中我可以简单地这样做:

print(car.date_of_manufacture.strftime('%Y-%m-%d'))
Run Code Online (Sandbox Code Playgroud)

但是如何在Jinja2中格式化日期?谢谢.

python jinja2

169
推荐指数
7
解决办法
14万
查看次数

在Jinja2中,如何测试变量是否未定义?

从Django转换,我习惯做这样的事情:

{% if not var1 %} {% endif %}
Run Code Online (Sandbox Code Playgroud)

如果我没有将var1放入上下文中,并使其工作.Jinja2给了我一个未定义的错误.是否有简单的说法{% if var1 == None %}或类似方式?

jinja2

166
推荐指数
6
解决办法
15万
查看次数

如何在jinja python模板中输出逗号分隔列表?

如果我有一个名单users["Sam", "Bob", "Joe"],我想要做的事,我可以在我的神社模板文件的输出:

{% for user in userlist %}
    <a href="/profile/{{ user }}/">{{ user }}</a>
    {% if !loop.last %}
        , 
    {% endif %}
{% endfor %}   
Run Code Online (Sandbox Code Playgroud)

我想使输出模板为:

Sam, Bob, Joe
Run Code Online (Sandbox Code Playgroud)

我尝试了上面的代码来检查它是否在循环的最后一次迭代,如果没有,那么不要插入逗号,但它不起作用.我该怎么做呢?

python jinja2

153
推荐指数
3
解决办法
9万
查看次数

Python jinja2速记有条件

说我有这个:

{% if files %}
    Update
{% else %}
    Continue
{% endif %}
Run Code Online (Sandbox Code Playgroud)

在PHP中,比方说,我可以写一个简写条件,如:

<?php echo $foo ? 'yes' : 'no'; ?>
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以将其翻译为jinja2模板:

'yes' if foo else 'no'
Run Code Online (Sandbox Code Playgroud)

python jinja2

153
推荐指数
2
解决办法
8万
查看次数

使用Flask/Jinja2将HTML传递给模板

我正在为Flask和SQLAlchemy构建一个管理员,我想将不同输入的HTML传递给我的视图render_template.模板框架似乎自动转义html,因此所有<"'>都转换为html实体.如何禁用它以便HTML呈现正确?

python jinja2 flask

142
推荐指数
5
解决办法
9万
查看次数

如何在python jinja模板中输出loop.counter?

我希望能够将当前循环迭代输出到我的模板.

根据文档:http://wsgiarea.pocoo.org/jinja/docs/loops.html,我正在尝试使用loop.counter变量.

我有以下内容:

<ul>
{% for user in userlist %}
  <li>
      {{ user }} {{loop.counter}}
  </li>
      {% if loop.counter == 1 %}
          This is the First user
      {% endif %}
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

虽然我的模板没有输出任何内容.什么是正确的语法?

python jinja2

134
推荐指数
3
解决办法
12万
查看次数

从jinja2调用python函数

我正在使用jinja2,我想调用一个python函数作为帮助器,使用类似的语法,就像我调用一个宏.jinja2似乎打算阻止我进行函数调用,并坚持通过将函数作为宏复制到模板中来重复自己.

有没有直接的方法来做到这一点?并且,有没有办法导入一整套python函数并让它们可以从jinja2访问,而不需要经历大量的繁琐(例如编写扩展)?

python jinja2

130
推荐指数
11
解决办法
11万
查看次数

ImportError:无法从“jinja2”导入名称“escape”

我收到错误

ImportError:无法从“jinja2”导入名称“escape”

当尝试使用以下requirements.txt运行代码时:

chart_studio==1.1.0
dash==2.1.0
dash_bootstrap_components==1.0.3
dash_core_components==2.0.0
dash_html_components==2.0.0
dash_renderer==1.9.1
dash_table==5.0.0
Flask==1.1.2
matplotlib==3.4.3
numpy==1.20.3
pandas==1.3.4
plotly==5.5.0
PyYAML==6.0
scikit_learn==1.0.2
scipy==1.7.1
seaborn==0.11.2
statsmodels==0.12.2
urllib3==1.26.7
Run Code Online (Sandbox Code Playgroud)

尝试过

chart_studio==1.1.0
dash==2.1.0
dash_bootstrap_components==1.0.3
dash_core_components==2.0.0
dash_html_components==2.0.0
dash_renderer==1.9.1
dash_table==5.0.0
Flask==1.1.2
matplotlib==3.4.3
numpy==1.20.3
pandas==1.3.4
plotly==5.5.0
PyYAML==6.0
scikit_learn==1.0.2
scipy==1.7.1
seaborn==0.11.2
statsmodels==0.12.2
urllib3==1.26.7
Run Code Online (Sandbox Code Playgroud)

但要求已经满足了。
在 Windows 系统上运行此代码。

compiler-errors jinja2 python-3.x pydash

125
推荐指数
4
解决办法
18万
查看次数