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()
Peut-être que cette documentation vous est utile: Fuseaux horaires
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'
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
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.
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/
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.