Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » как избежать отображения "None" в незаполненых полях null=True? [RSS Feed]

#1 Май 30, 2010 10:33:17

tur75
От:
Зарегистрирован: 2010-05-26
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

как избежать отображения "None" в незаполненых полях null=True?

я в начале освоения Django.
если имеем поля с атрибутами
price = models.IntegerField(blank=True, null=True)
type = models.ForeignKey(FlatType, blank=True, null=True)
plate = models.CharField(max_length=1, choices=PLATE, blank=True, null=True)
пишу в шаблоне типа {{ object.plate }} и т.д.

если эти поля не заполнены, т.е. =NULL
в браузере видим “None”

вижу два варианта решения вопроса:
1) написать в шаблоне;

{% if object.plate %}
{{ object.plate }}
{% endif %}
2) добавить свойство в модель:
    @property
def getPlate(self):
if self.plate:
return self.plate
else:
return ''
а в шаблоне, соответственно:
   {{ object.getPlate }}
Вопросы:
1 грамотно ли это?
2 что лучше?
3 а как надо делать?



Офлайн

#2 Май 30, 2010 10:41:58

Lolka
От:
Зарегистрирован: 2007-09-29
Сообщения: 128
Репутация: +  0  -
Профиль   Отправить e-mail  

как избежать отображения "None" в незаполненых полях null=True?

Есть два фильтра: default и default_if_none

{{ value|default:"nothing" }}
If value is "" (the empty string), the output will be nothing.

{{ value|default_if_none:"nothing" }}
If value is None, the output will be the string "nothing".
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#default
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#default-if-none

Так?



Офлайн

#3 Май 30, 2010 12:50:33

tur75
От:
Зарегистрирован: 2010-05-26
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

как избежать отображения "None" в незаполненых полях null=True?

Lolka
Есть два фильтра: default и default_if_none
спасибо



Офлайн

  • Начало
  • » Django
  • » как избежать отображения "None" в незаполненых полях null=True?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version