Шаблоны Django: Как показать разницу во времени между временем в хранилище данных и текущим временем? - PullRequest
2 голосов
/ 16 июля 2010

Я работаю над проектом django- Google app engine. Пользователь вводит некоторое значение, и поле datetime автоматически заполняется с помощью свойства DateTimeProperty (auto_now_add = True) движка приложения Google. Теперь мне нужно отобразить на шаблоне разницу этого времени и текущего времени, когда пользователь просматривает результат.

Например, если вставленное время было 5:00, а пользователь просматривает сообщение в 6:00, результат должен составлять 1 час. Есть ли какой-нибудь встроенный фильтр с шаблонами Django, чтобы выполнить то же самое? Я пытался раз, так как:

{{ topic.creation_date| timesince: now }}

где creation_date - поле даты и времени. Но это не работает.

Пожалуйста, предложите.

Заранее спасибо.

Ответы [ 2 ]

13 голосов
/ 16 июля 2010

Есть ли у вас переменная под названием "сейчас" в вашем контексте?Если нет, то это не удастся.

Однако на самом деле он вам не нужен, потому что если вы вызываете фильтр timesince без аргумента, он будет использовать текущее время.Так что просто сделайте:

{{ topic.creation_date|timesince }}
1 голос
/ 16 июля 2010

почему вы не используете time.time ()? И для создания даты вы должны сначала вставить данную строку в базу данных. Это означает, что вы можете прочитать это.

from datetime import timedelta

yourmodel.save()

cdate= yourmodel.creation_date

seconds = time.time() - time.mktime(cdate.timetuple())
timediff = str(timedelta(seconds=seconds))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...