web-dev-qa-db-fra.com

Comment afficher l'heure actuelle en utilisant Python + Django?

J'apprends à utiliser Python et Django pour produire une petite application Web qui imprime l'heure actuelle. Je l'utilise avec Google App Engine.

Pour le moment, il affiche uniquement une page vierge, mais je veux qu'il affiche l'heure actuelle. Je veux également mapper la fonction sur la page d'accueil .. pas/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()
20
Lucas

Peut-être que cette documentation vous est utile: Fuseaux horaires

Formatage du temps dans une vue

Vous pouvez obtenir l'heure actuelle en utilisant:

import datetime
now = datetime.datetime.now()

ou pour obtenir l'heure en fonction du fuseau horaire:

import datetime
from Django.utils.timezone import utc

now = datetime.datetime.utcnow().replace(tzinfo=utc)

pour formater le temps que vous pouvez faire:

import datetime

now = datetime.datetime.now().strftime('%H:%M:%S')  #  Time like '23:12:05'

Formatage du temps dans un modèle

Vous pouvez envoyer un datetime au modèle, supposons que vous envoyiez une variable appelée myDate au modèle à partir de la vue. Vous pouvez faire ceci pour formater cette date/heure:

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

Vérifiez la date du modèle de filtre

J'espère que cela vous est utile

37
AlvaroAV

Utilisez la maintenant la balise de modèle . Par exemple:

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

mais vous devrez envoyer votre chaîne via le moteur de modèle avant d'envoyer la réponse pour que cela fonctionne.

13
Sam Dolan

Pour Django code, pas dans le modèle, le support est en fait assez simple.

Dans les paramètres, changez le fuseau horaire:

TIME_ZONE = 'Asia/Kolkata'

Et là où vous devez utiliser, utilisez le code suivant:

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

Source: https://docs.djangoproject.com/en/2.1/topics/i18n/timezones/

5

Vous pouvez utiliser time.strftime () pour imprimer l'heure actuelle. Dans vos modèles d'URL, modifiez simplement '^time/$' à '^/$' pour mapper la page racine à votre fonction de temps.

0
A B

Je l'ai utilisé dans view.py

currentTime = datetime.datetime.now () . . . Et pour HomePage (2 extraits)

enter image description here

enter image description here

0
Somesh Samadder