Здравствуйте.
Сразу извините за мой “французский” - я новичок в питоне. Нужно решить такую вот задачку.
Есть {{event.release_date|date:“H:i” }} и если его значение равно 00:00, тогда выводить “-”
barabanshegВы абсолютно правы. Методом “проб и ошибок”, привел меня именно туда, откуда это приходит. Но всеравно спасибо.
Дак может эту проверку выполнять не в шаблоне? А там, откуда это приходит?
alexzander77А я в моделях копался.
{% ifequal event.release_date|date:“H:i” “00:00”%}
-
{% else %}
{{event.release_date|date:“H:i” }}
{% endifequal %}
def release_date_as_str(self):
out=self['release_date'].strftime("%H:%M")
if out=="00:00":out="-"
return out
Remoterootа %i (і маленькое) точно валидный форматтер? а то я тут пробую:
Делал проверку, выводил вот так:
def time_value(self):
return self.release_date.format(self.release_date.strftime('%H:%i'))
Но ничего не выводит. Я так понимаю дело в формате времени?
>>> d=datetime.datetime.now()
>>> d
datetime.datetime(2012, 2, 22, 21, 40, 18, 140000)
>>> d.strftime("%H:%i")
Traceback (most recent call last):
File "<console>", line 1, in <module>
ValueError: Invalid format string
>>> d.strftime("%H:%M")
'21:40'
alexzander77Получилось. Вот как:
оффтоп: в первом варианте у тебя возвращается, в зависимости от, то юникод строка, то датетайм объект.
это не есть гуд.Remoterootа %i (і маленькое) точно валидный форматтер? а то я тут пробую:
Делал проверку, выводил вот так:
def time_value(self):
return self.release_date.format(self.release_date.strftime('%H:%i'))
Но ничего не выводит. Я так понимаю дело в формате времени?>>> d=datetime.datetime.now()
>>> d
datetime.datetime(2012, 2, 22, 21, 40, 18, 140000)
>>> d.strftime("%H:%i")
Traceback (most recent call last):
File "<console>", line 1, in <module>
ValueError: Invalid format string
>>> d.strftime("%H:%M")
'21:40'