None, False and True
wszystkie są dostępne wewnątrz tagów szablonów i filtrów. None, False
, pusty string ('', "", """"""
) i pustych list/krotki wszystkie oceny do False
gdy oceniano if
, dzięki czemu można łatwo zrobić
{% if profile.user.first_name == None %}
{% if not profile.user.first_name %}
Podpowiedź: @fabiocerqueira ma rację, zostaw logikę modeli, szablonów do granicznych być jedyną warstwą prezentacji i obliczyć takie rzeczy w twoim modelu. Przykład:
# someapp/models.py
class UserProfile(models.Model):
user = models.OneToOneField('auth.User')
# other fields
def get_full_name(self):
if not self.user.first_name:
return
return ' '.join([self.user.first_name, self.user.last_name])
# template
{{ user.get_profile.get_full_name }}
Nadzieja to pomaga :)
Ja tylko starałem się przekazać Brak jako parametr tagu {% cache%} i ucz się ed, że nie jest dostępny. Zajęty pracą nad tym. – tobych
'{% if profile.user.first_name to None%}' powoduje błąd składni w szablonie Django. – Rockallite
Twoja podpowiedź łączy prezentację i logikę, umieszczając kod HTML w swoim modelu, robiąc dokładnie odwrotność tego, co próbujesz uczyć. Jak powrócić Brak, jeśli nie ma nazwy (zachowanie logiczne dla modelu danych), a następnie za pomocą filtru 'default_if_none' w szablonie? – jbg