如何获取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) 我想知道如何在jinja中使用另一个变量设置变量.我会解释,我有一个子菜单,我想显示哪个链接是活动的.我试过这个:
{% set active_link = {{recordtype}} -%}
Run Code Online (Sandbox Code Playgroud)
其中recordtype是为我的模板指定的变量.
使用Jinja2,如何格式化日期字段?我知道在Python中我可以简单地这样做:
print(car.date_of_manufacture.strftime('%Y-%m-%d'))
Run Code Online (Sandbox Code Playgroud)
但是如何在Jinja2中格式化日期?谢谢.
从Django转换,我习惯做这样的事情:
{% if not var1 %} {% endif %}
Run Code Online (Sandbox Code Playgroud)
如果我没有将var1放入上下文中,并使其工作.Jinja2给了我一个未定义的错误.是否有简单的说法{% if var1 == None %}或类似方式?
如果我有一个名单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)
我尝试了上面的代码来检查它是否在循环的最后一次迭代,如果没有,那么不要插入逗号,但它不起作用.我该怎么做呢?
说我有这个:
{% 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) 我正在为Flask和SQLAlchemy构建一个管理员,我想将不同输入的HTML传递给我的视图render_template.模板框架似乎自动转义html,因此所有<"'>都转换为html实体.如何禁用它以便HTML呈现正确?
我希望能够将当前循环迭代输出到我的模板.
根据文档: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)
虽然我的模板没有输出任何内容.什么是正确的语法?
我正在使用jinja2,我想调用一个python函数作为帮助器,使用类似的语法,就像我调用一个宏.jinja2似乎打算阻止我进行函数调用,并坚持通过将函数作为宏复制到模板中来重复自己.
有没有直接的方法来做到这一点?并且,有没有办法导入一整套python函数并让它们可以从jinja2访问,而不需要经历大量的繁琐(例如编写扩展)?
我收到错误
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 系统上运行此代码。