web-dev-qa-db-ja.com

デフォルトのDjango日付テンプレート形式を変更する方法は?

私は、dbにisoformatの日付%Y-%m-%dを持っていますが、日付がテンプレートに渡されると、Oct. 16, 2011のようなものとして出力されます。

とにかく、私が望むものにフォーマットを操作することができますか?

87
bash-

テンプレート内で、Djangoの date フィルターを使用できます。例えば。:

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

与える:

誕生日:1983年1月29日

date filter docs のその他のフォーマットの例。

236
medmunds

DATE_FORMATUSE_L10Nの両方を設定します

Django 1.4.1でサイト全体を変更するには、次を追加します。

DATE_FORMAT = "Y-m-d"

settings.pyファイルに追加して編集します。

USE_L10N = False

l10nはDATE_FORMATをオーバーライドするため

これは次の場所で文書化されています: https://docs.djangoproject.com/en/dev/ref/settings/#date-format

これを使うだけ

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

これにより、2016-10-16のような形式が表示され、必要な形式を使用できます。

14
hardcoderrsl

必要なのは 日付テンプレートフィルター です。

例えば:

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

これはJoined December 2018を返します

6
Toluwalemi

Views.pyの日付形式を変更してからテンプレートに割り当てるため。

# 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

短い日付と時刻(2018年11月8日午前3時23分)を表示する必要がある場合は、次のようにします。

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

このタグの詳細 here および指定された形式に従った日付の詳細 here

例:

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