如果对象是None而不是做这样的事情,如何使jijna2中的变量默认为""?
{% if p %}
{{ p.User['first_name']}}
{% else %}
NONE
{%endif %}
Run Code Online (Sandbox Code Playgroud)
因此,如果对象p为None,我想将p(first_name和last_name)的值默认为"".基本上是nvl(p.User [first_name'],"")
接收错误:错误:jinja2.exceptions.UndefinedError UndefinedError:'None'没有属性'User'
我需要检查变量texts是否已定义index.html.
如果定义了变量而不是空,那么我应该渲染循环.否则,我想显示错误消息{{error}}.
基本上这在PHP中
if (isset($texts) && !empty($texts)) {
for () { ... }
}
else {
print $error;
}
Run Code Online (Sandbox Code Playgroud)
的index.html
{% for text in texts %}
<div>{{error}}</div>
<div class="post">
<div class="post-title">{{text.subject}}</div>
<pre class="post-content">{{text.content}}</pre>
</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我怎么说在jinja2?
所以我不能在下面的模板中使用python len()作为列表.
{% if len(alist) == 0 %}
UndefinedError: 'len' is undefined
Run Code Online (Sandbox Code Playgroud)
我们如何在模板中使用python?
在def get(self)方法中将param传递给模板是唯一的方法吗?
任何人都知道如何使用jinja2的一些很好的资源来模板化?喜欢用什么方法和python和jinja2之间的语法区别.