Comment calculer le temps depuis maintenant dans un template django ?

Published: 05 février 2021

Tags: Django;

DMCA.com Protection Status

Exemples de comment calculer le temps depuis maintenant dans un template django:

Temps depuis maintenant

Prenons par exemple le modèle suivant (défini dans le fichier models.py):

class Post(models.Model):
    content = models.TextField()
    date_created = models.DateTimeField(default=datetime.now)

et la vue:

def my_view(request):
    post_obj_list = Post.objects.all()
    context = {'post_obj_list':post_obj_list}
    return render(request, "myapp/post.html", context )

Si nous voulons afficher le temps depuis qu'un article a été créé dans un template django, une solution est d'utiliser timesince:

{% for post_obj in post_obj_list %}

{{ post_obj.date_created|timesince }}

{% endfor %}

Il affichera le temps écoulé depuis la création de l'article, par exemple:

1 hour 19 minutes

Temps depuis une date donnée

Remarque: il est également possible d'obtenir l'heure depuis une date donnée en utilisant la syntaxe suivante:

{{ post_obj.date_created|timesince:thread_date  }}

remplacer "thread_date" par un datetime object.

Références