Mam dat w formacie ISO 8601 w bazie danych %Y-%m-%d
. Jednak kiedy data jest przekazywana do szablonu, to wychodzi jakoś w rodzaju Oct. 16, 2011
.
Czy istnieje sposób, w jaki mogę manipulować formatem do dowolnego celu?
Mam dat w formacie ISO 8601 w bazie danych %Y-%m-%d
. Jednak kiedy data jest przekazywana do szablonu, to wychodzi jakoś w rodzaju Oct. 16, 2011
.
Czy istnieje sposób, w jaki mogę manipulować formatem do dowolnego celu?
Odpowiedzi:
W swoim szablonie możesz użyć date
filtru Django . Na przykład:
<p>Birthday: {{ birthday|date:"M d, Y" }}</p>
Daje:
Urodziny: 29 stycznia 1983 r
Więcej przykładów formatowania w dokumentach filtrów daty .
Ustaw oba DATE_FORMAT
iUSE_L10N
Aby wprowadzić zmiany dla całej witryny w Django 1.4.1, dodaj:
DATE_FORMAT = "Y-m-d"
do swojego settings.py
pliku i edytuj:
USE_L10N = False
od l10n zastępuje DATE_FORMAT
Jest to udokumentowane pod adresem : https://docs.djangoproject.com/en/dev/ref/settings/#date-format
Po prostu użyj tego:
{{you_date_field|date:'Y-m-d'}}
To pokaże coś w stylu 2016-10-16 . Możesz użyć formatu, jak chcesz.
Aby zmienić format daty w views.py, a następnie przypisz go do szablonu.
# 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) )
Potrzebujesz filtru szablonu daty .
na przykład:
<td>Joined {{user.date_created|date:"F Y" }}<td>
To wraca Joined December 2018
Jeśli chcesz pokazać krótką datę i godzinę (11/08/2018 03:23 rano), możesz to zrobić w następujący sposób:
{{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}
Szczegóły dotyczące tego tagu tutaj i więcej informacji o datach według podanego formatu tutaj
Przykład:
<small class="text-muted">Last updated: {{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}</small>