django 템플릿 표시 항목 값 또는 빈 문자열


88

템플릿의 내 코드는 다음과 같습니다.

{% for item in items %}
    {{ item.somefield }}
{% endfor %}

item.somefield가 None이 아니면 항목 값을 표시하거나 빈 문자열을 표시하고 싶습니다. {% if item.somefield %} 문을 사용하고 싶지 않습니다. {{item.somefield 또는 ''}}와 같은 것을 원합니다 (이것을 시도했지만 작동하지 않습니다)

답변:


225

당신은 원하는 default_if_none템플릿 필터 ( 문서를 ).

default_if_none 변수가 'None'이면 주어진 문자열을 표시합니다.

default 변수가 False로 평가되면 문자열을 표시합니다. 즉, 빈 문자열, 빈 목록 등

{{ item.somefield|default_if_none:"" }}
{{ item.somefield|default:"" }}

감사합니다 @rockingskier;)
Moe Far

12
{{ item.somefield|default_if_none:"" }}

5
단순히 코드보다는 설명을 추가 할 수 있습니다. 이것은 질문을 한 사람이 귀하의 답변을 더 잘 이해하도록 도와줍니다.
Victor Zamanian 2018
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.