日付ベースのミックスイン (mixin)¶
注釈
これらのミックスインに含まれるすべての日付フォーマット属性は strftime()
フォーマット文字列を使用します。 now
テンプレートタグのフォーマット文字列は互換性がないので使用しないでください。
YearMixin
¶
- class YearMixin[ソース]¶
日付の「年」コンポーネントのパース情報を取得したり提供したりするために使用できるミックスイン。
メソッドと属性
- year_format¶
strftime()
のフォーマットで年をパースします。デフォルトでは'%Y'
です。
- year¶
オプション 年の値を文字列で指定します。デフォルトでは
None
に設定されています。これは他の方法で年を決定することを意味します。
- get_year_format()[ソース]¶
年をパースする際に使用する
strftime()
フォーマットを返します。デフォルトではyear_format
を返します。
- get_year()[ソース]¶
このビューがデータを表示する年を文字列で返します。以下のソースを順に試みます:
YearMixin.year
属性の値。URL パターンに含まれる
year
引数の値。GET
クエリ引数year
の値。
有効な年指定が見つからない場合は 404 を返します。
- get_next_year(date)[ソース]¶
指定した日付の翌年の最初の日を含む日付オブジェクトを返します。この関数は
allow_empty
とallow_future
の値によってNone
を返したり、Http404
例外を発生させたりします。
- get_previous_year(date)[ソース]¶
指定した日付の前の年の最初の日を含む日付オブジェクトを返します。この関数は
allow_empty
とallow_future
の値によってNone
を返したり、Http404
例外を発生させたりします。
MonthMixin
¶
- class MonthMixin[ソース]¶
日付の「月」コンポーネントのパース情報を取得したり提供したりするために使用できるミックスイン。
メソッドと属性
- month_format¶
strftime()
フォーマットは月をパースするときに使われます。デフォルトでは'%b'
です。
- month¶
オプション 月を表す文字列。デフォルトでは
None
に設定されています。これは月が他の方法で決定されることを意味します。
- get_month_format()[ソース]¶
月をパースする際に使用する
strftime()
フォーマットを返します。デフォルトではmonth_format
を返します。
- get_month()[ソース]¶
このビューがデータを表示する月を文字列で返します。以下のソースを順に試みます:
MonthMixin.month
属性の値です。URL パターンからキャプチャされた
month
引数の値。GET
クエリ引数month
の値。
有効な月の指定が見つからない場合は 404 を返します。
- get_next_month(date)[ソース]¶
指定した日付の翌月初日を含む日付オブジェクトを返します。この関数は
allow_empty
とallow_future
の値によってNone
を返したり、Http404
例外が発生したりします。
- get_previous_month(date)[ソース]¶
指定した日付の前の月の最初の日を含む日付オブジェクトを返します。この関数は
allow_empty
とallow_future
の値によってNone
を返したり、Http404
例外を発生させたりします。
DayMixin
¶
- class DayMixin[ソース]¶
日付の「日」コンポーネントのパース情報を取得したり提供したりするために使用できるミックスインです。
メソッドと属性
- day_format¶
日をパースする際に使用する
strftime()
フォーマットです。デフォルトでは'%d'
です。
- day¶
オプション 文字列で日の値を指定します。デフォルトでは
None
に設定されています。これは別の方法で日を決定することを意味します。
- get_day_format()[ソース]¶
日をパースする際に使用する
strftime()
フォーマットを返します。デフォルトではday_format
を返します。
- get_day()[ソース]¶
このビューがデータを表示する日を文字列で返します。以下のソースを順に試みます:
DayMixin.day
属性の値。URL パターンからキャプチャされた
day
引数の値。GET
クエリ引数day
の値。
有効な日の指定が見つからない場合は 404 を返します。
- get_next_day(date)[ソース]¶
指定された日の有効な翌日を含む日付オブジェクトを返します。この関数は
allow_empty
とallow_future
の値によってNone
を返したり、Http404
例外を発生させたりします。
- get_previous_day(date)[ソース]¶
有効な前日を含む日付オブジェクトを返します。この関数は
allow_empty
とallow_future
の値によってNone
を返したり、Http404
例外を発生させたりします。
WeekMixin
¶
- class WeekMixin[ソース]¶
日付の「週」コンポーネントのパース情報を取得したり提供したりするために使用できるミックスイン。
メソッドと属性
- week_format¶
週をパースする際に使用する
strftime()
フォーマットです。デフォルトでは'%U'
です。週が月曜日から始めたい場合は'%W'
または'%V'
(ISO 8601 week) に設定します。
- week¶
オプション 週の値を文字列で指定します。デフォルトでは
None
に設定されています。これは他の方法で週を決定することを意味します。
- get_week_format()[ソース]¶
週のパース時に使用する
strftime()
フォーマットを返します。デフォルトではweek_format
を返します。
- get_week()[ソース]¶
このビューがデータを表示する週を文字列で返します。以下のソースを順に試みます:
WeekMixin.week
属性の値。URL パターンからキャプチャされた
week
引数の値week
GET
クエリ引数の値。
有効な週の指定が見つからない場合、404を発生させます。
- get_next_week(date)[ソース]¶
指定した日付の、次の週の初日のdateオブジェクトを返します。またこの関数は、
allow_empty
とallow_future
の値によっては、None
を返すか、Http404
例外を発生させることがあります。
- get_prev_week(date)¶
指定した日付の、前の週の初日のdateオブジェクトを返します。またこの関数は、
allow_empty
とallow_future
の値によっては、None
を返すか、Http404
例外を発生させることがあります。
DateMixin
¶
- class DateMixin[ソース]¶
すべてのデータベースのビューに共通の動作を提供する mixin クラス。
メソッドと属性
- date_field¶
QuerySet
のモデル内のDateField
またはDateTimeField
の名前です。日付ベースのアーカイブがページに表示するオブジェクトのリストを決定する際に使用します。タイムゾーンサポート が有効で
date_field
がDateTimeField
である場合、日付はカレントタイムゾーンにあると仮定されます。そうでない場合、クエリセットにはエンドユーザのタイムゾーンにおける前日または翌日のオブジェクトが含まれる可能性があります。警告
このような場合、ユーザーごとのタイムゾーン選択を実装していると、同じURLでもエンドユーザーのタイムゾーンによって異なるオブジェクトが表示される可能性があります。これを避けるためには、
date_field
属性としてDateField
を使用する必要があります。
- allow_future¶
このページに "未来" のオブジェクトを含めるかどうかを指定する真偽値です。"未来" とは
date_field
で指定されたフィールドが現在の日時よりも大きいオブジェクトを意味します。デフォルトではFalse
です。
- get_date_field()[ソース]¶
このビューが操作する日付データを含むフィールドの名前を返します。デフォルトでは
date_field
を返します。
- get_allow_future()[ソース]¶
このページに "未来" のオブジェクトを含めるかどうかを判定します。ここで "未来" とは
date_field
で指定されたフィールドが現在の日時よりも大きいオブジェクトを意味します。デフォルトではallow_future
を返します。
BaseDateListView
¶
- class BaseDateListView[ソース]¶
すべての日付ベースのビューに共通の動作を提供する基本クラスです。通常は
BaseDateListView
をインスタンス化する理由はないでしょう。代わりにサブクラスをインスタンス化してください。このビュー(とそのサブクラス)が実行されている間、
self.object_list
にはビューが操作しているオブジェクトのリストが格納され、self.date_list
にはデータが利用可能な日付のリストが格納されます。ミックスイン
メソッドと属性
- allow_empty¶
オブジェクトがない場合にページを表示するかどうかを指定する真偽値。これが
True
でオブジェクトがない場合、ビューは 404 を返す代わりに空のページを表示します。これは
django.views.generic.list.MultipleObjectMixin.allow_empty
と同様ですが、デフォルト値はFalse
です。
- date_list_period¶
オプション
date_list
の集計期間を定義する文字列。'year'
(デフォルト)、'month'
、'day'
のいずれかを指定します。
- get_dated_items()[ソース]¶
(
date_list
,object_list
,extra_context
) を含む 3-タプルを返します。date_list
はデータが利用可能な日付のリストです。object_list
はオブジェクトのリストです。extra_context
はコンテキストデータの辞書で、MultipleObjectMixin
によって提供されるコンテキストデータに追加されます。
- get_dated_queryset(**lookup)[ソース]¶
lookup
で定義したクエリ引数でフィルタしたクエリセットを返します。allow_empty
やallow_future
などのクエリセットの制限を強制します。
- get_date_list_period()[ソース]¶
date_list
の集計期間を返します。 デフォルトではdate_list_period
を返します。
- get_date_list(queryset, date_type=None, ordering='ASC')[ソース]¶
queryset
がエントリを含むdate_type
型の日付のリストを返します。 たとえば、get_date_list(qs, 'year')
はqs
がエントリを持つ年のリストを返します。もしdate_type
が指定されなかった場合、get_date_list_period()
の結果が使用されます。date_type
とordering
はQuerySet.dates()
に渡されます。