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

J'ai des dates dans isoformat dans la base de données, %Y-%m-%d cependant, lorsque la date est transmise au modèle, elle apparaît comme quelque chose comme Oct. 16, 2011.

Y a-t-il de toute façon que je puisse manipuler le format à ce que je veux?

79

6 réponses

38
répondu Ignacio Vazquez-Abrams 2011-10-12 08:24:43

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

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

Donne:

Anniversaire: 29 Janvier 1983

Plus d'exemples de formatage dans les documents filtre de date .

202
répondu medmunds 2016-09-02 23:51:50

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 modifier:

USE_L10N = False

Depuis l10n remplace DATE_FORMAT

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

21

Utilisez simplement ceci

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

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

6
répondu hardcoderrsl 2018-03-22 12:24:54

Afin de changer le format de la date views.py et puis attribuez - le au 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) )  
4
répondu kta 2013-04-02 07:26:46

Si vous avez besoin d'afficher la date et l'heure courtes (11/08/2018 03:23 a. m.), Vous pouvez le faire comme ceci:

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

Les Détails de cette balise ici et plus sur les dates selon le 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>
0
répondu nilsoviani 2018-09-01 01:35:07