기본적으로 " jijna2 만드는 방법을 변수로 "; 만약 이런 일을 대신 객체인지 없음?
{% if p %}
{{ p.User['first_name']}}
{% else %}
NONE
{%endif %}
만일 내가 원하는 값을 기본값으로 객체에는 되니그들 p 는 p (first_name 및 last_name 님) 를 " ";). 기본적으로 노블 (퍼시우저 [first_name& # 39,], " ";)
받는 중 오류가 발생했습니다. 오류: jinja2.exceptions.UndefinedError 우네핀더로: # 39, & # 39 None&. # 39, & # 39 주님으로부터그에게 속성용 User&.
내장 함수를 사용하여 '없음' (http://jinja.pocoo.org/docs/templates/ # 없음).
{% if p is not none %}
{{ p.User['first_name'] }}
{% else %}
NONE
{%endif %}
또는
{{ p.User['first_name'] if p != None else 'NONE' }}
또는 필요한 경우 빈 문자열:
{{ p.User['first_name'] if p != None }}
그냥 따르면 [docs] [1] 할 수 있습니다.
{{ p|default('', true) }}
이로 인해 '없음' 을 '거짓' 의 방송 부울입니다 컨텍스트입니다.
난 보통 정의하는 '및' 글로벌 '와' 필터링합니다 노블 '기능을 넣어'.
def nvl(*args):
for item in args:
if item is not None:
return item
return None
app.jinja_env.globals['nvl'] = nvl
app.jinja_env.filters['nvl'] = nvl
사용 템플리트를:
<span>Welcome {{ nvl(person.nick, person.name, 'Anonymous') }}<span>
// or
<span>Welcome {{ person.nick | nvl(person.name, 'Anonymous') }}<span>