Как отображать текущее время с помощью Python + Django?
Я изучаю, как использовать Python и Django для создания небольшого webapp, который выводит текущее время. Я использую это с Google App Engine.
Сейчас он отображает только пустую страницу, но я хочу, чтобы она отображала текущее время. Я также хочу отобразить функцию на домашней странице. Not/time/.
from django.http import HttpResponse
from django.conf.urls.defaults import *
import datetime
# returns current time in html
def current_datetime(request):
now = datetime.datetime.now()
html = "<html><body>It is now %s.</body></html>" % now
return HttpResponse(html)
def main():
# maps url to current_datetime func
urlpatterns = patterns('',
(r'^time/$', current_datetime),
)
if __name__ == '__main__':
main()
Ответы
Ответ 1
Возможно, эта документация вам полезна: Часовой пояс
Время форматирования в представлении
Вы можете получить текущее время, используя:
import datetime
now = datetime.datetime.now()
или
для получения времени в зависимости от часового пояса:
import datetime
from django.utils.timezone import utc
now = datetime.datetime.utcnow().replace(tzinfo=utc)
, чтобы отформатировать время, которое вы можете сделать:
import datetime
now = datetime.datetime.now().strftime('%H:%M:%S') # Time like '23:12:05'
Время форматирования в шаблоне
Вы можете отправить дату-время в шаблон, допустив, что вы отправляете переменную с именем myDate в шаблон из представления. Вы можете сделать это так, чтобы форматировать это datetime:
{{ myDate | date:"D d M Y"}} # Format Wed 09 Jan 2008
{{ myDate | date:"SHORT_DATE_FORMAT"}} # Format 09/01/2008
{{ myDate | date:"d/m/Y"}} # Format 09/01/2008
Проверьте Фильтр шаблонов date
Надеюсь, это вам полезно.
Ответ 2
Использовать тег теперь. Например:
{% now "jS F Y H:i" %}
но вам нужно отправить свою строку через механизм шаблонов, прежде чем отправлять ответ для его работы.
Ответ 3
Для кода Django, а не в шаблоне, поддержка на самом деле довольно проста.
В настройках изменить часовой пояс:
TIME_ZONE = 'Asia/Kolkata'
И где вам нужно использовать, используйте следующий код:
from django.utils import timezone
now = timezone.now()
Источник: https://docs.djangoproject.com/en/2.1/topics/i18n/timezones/
Ответ 4
Вы можете использовать time.strftime() для печати текущего времени. В urlpatterns просто измените '^time/$'
на '^/$'
, чтобы сопоставить корневую страницу с вашей временной функцией.
Ответ 5
Я использовал это в view.py
currentTime = datetime.datetime.now(). , , И для HomePage (2 фрагмента)
![enter image description here]()
![enter image description here]()