web-dev-qa-db-fra.com

Comment changer le format de template par défaut Django date?

J'ai des dates en isoformat dans la base de données, %Y-%m-%d cependant, lorsque la date est transmise au modèle, il se présente sous la forme de quelque chose comme Oct. 16, 2011.

Y a-t-il un moyen de manipuler le format comme bon me semble?

87
bash-
46

Dans votre modèle, vous pouvez utiliser le filtre date de Django. Par exemple.:

<p>Birthday: {{ birthday|date:"M d, Y" }}</p>

Donne:

Anniversaire: le 29 janvier 1983

Plus d'exemples de formatage dans = filtre de date .

236
medmunds

Définir à la fois DATE_FORMAT Et USE_L10N

Pour apporter des modifications à l’ensemble du site dans Django 1.4.1, ajoutez:

DATE_FORMAT = "Y-m-d"

dans votre fichier settings.py et éditez:

USE_L10N = False

puisque l10n annule DATE_FORMAT

Ceci est documenté à: https://docs.djangoproject.com/en/dev/ref/settings/#date-format

juste utiliser ceci

{{you_date_field|date:'Y-m-d'}}

cela montrera quelque chose comme-2016-10-16, vous pouvez utiliser le format que vous voulez.

14
hardcoderrsl

Ce dont vous avez besoin est un filtre de modèle de date .

par exemple:

<td>Joined {{user.date_created|date:"F Y" }}<td>

Ceci retourne Joined December 2018

6
Toluwalemi

Pour changer le format de date dans le fichier views.py, puis l’affecter à un modèle.

# get the object details 
home = Home.objects.get(home_id=homeid)

# get the start date
_startDate = home.home_startdate.strftime('%m/%d/%Y')

# assign it to template 
return render_to_response('showme.html' 
                                        {'home_startdate':_startDate},   
                                         context_instance=RequestContext(request) )  
6
kta

Si vous devez afficher une date et une heure courtes (le 11/08/2018 à 03h23), vous pouvez le faire comme ceci:

{{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}

Détails pour cette balise ici et plus sur les dates en fonction du format donné ici

Exemple:

<small class="text-muted">Last updated: {{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}</small>
2
nilsoviani