Как отобразить текущее время, используя Python + Django? - PullRequest
18 голосов
/ 24 февраля 2011

Я учусь использовать Python и Django для создания небольшого веб-приложения, которое выводит текущее время. Я использую это с Google App Engine.

В данный момент отображается только пустая страница, но я хочу, чтобы она отображала текущее время. Я также хочу привязать функцию к домашней странице .. не /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()

Ответы [ 5 ]

35 голосов
/ 09 октября 2013

Может быть, эта документация вам пригодится: Часовые пояса

Форматирование времени в представлении

Текущее время можно получить с помощью:

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'

Форматированиевремя в шаблоне

Вы можете отправить datetime в шаблон, давайте предложим вам отправить переменную с именем myDate в шаблон из представления.Вы можете сделать так, чтобы отформатировать эту дату и время:

{{ 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

Надеюсь, это полезно для вас

13 голосов
/ 25 февраля 2011

Используйте шаблон тега . Например:

{% now "jS F Y H:i" %}

но вам нужно будет отправить свою строку через шаблонизатор перед отправкой ответа, чтобы он заработал.

5 голосов
/ 02 октября 2018

Для кода Django, а не в шаблоне, поддержка на самом деле довольно проста.

В настройках измените часовой пояс:

TIME_ZONE = 'Asia/Kolkata'

И где вам нужно использовать, используйте следующий код:

from django.utils import timezone
now = timezone.now()

Источник: https://docs.djangoproject.com/en/2.1/topics/i18n/timezones/

0 голосов
/ 05 мая 2019

Я использовал это в view.py

currentTime = datetime.datetime.now () , , , А для HomePage (2 фрагмента)

enter image description here

enter image description here

0 голосов
/ 25 февраля 2011

Вы можете использовать time.strftime () для печати текущего времени. В ваших urlpatterns просто измените '^time/$' на '^/$', чтобы сопоставить корневую страницу с вашей функцией времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...