template django menampilkan nilai item atau string kosong

91

Kode saya di template seperti ini:

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

Saya ingin menampilkan nilai item jika item.somefield bukan None, atau menampilkan string kosong. Saya tidak ingin menggunakan pernyataan {% if item.somefield%}, saya ingin sesuatu seperti {{item.somefield atau ''}} (Saya mencoba ini tetapi tidak berhasil)

Roger Liu
sumber

Jawaban:

232

Anda menginginkan default_if_nonefilter template, ( doc ).

default_if_none akan menampilkan string yang diberikan jika variabelnya adalah 'Tidak Ada'.

default akan menampilkan string jika variabel bernilai False, misalnya string kosong, daftar kosong, dll

{{ item.somefield|default_if_none:"" }}
{{ item.somefield|default:"" }}
rockingskier
sumber
Terima kasih @rockingskier;)
Moe Far
12
{{ item.somefield|default_if_none:"" }}
matino
sumber
5
Anda mungkin ingin menambahkan beberapa penjelasan pada jawaban Anda, bukan hanya kode. Ini membantu orang yang mengajukan pertanyaan untuk lebih memahami jawaban Anda.
Victor Zamanian