日付ベースのミックスイン—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/ref/class-based-views/mixins-date-based
移動先:案内検索

日付ベースのミックスイン

ノート

これらのミックスインのすべての日付フォーマット属性は、strftime()フォーマット文字を使用します。 :ttag: `now` テンプレートタグのフォーマット文字は互換性がないため、使用しないでください。


YearMixin

class YearMixin

日付の年コンポーネントの解析情報を取得して提供するために使用できるミックスイン。

メソッドと属性

year_format

年を解析するときに使用するstrftime()形式。 デフォルトでは、これは'%Y'です。

year

オプション文字列としての年の値。 デフォルトでは、Noneに設定されています。これは、年が他の手段を使用して決定されることを意味します。

get_year_format()

年を解析するときに使用するstrftime()形式を返します。 デフォルトで year_format を返します。

get_year()

このビューがデータを表示する年を文字列として返します。 次のソースを順番に試します。

  • YearMixin.year 属性の値。

  • URLパターンでキャプチャされたyear引数の値。

  • year GETクエリ引数の値。

有効な年の指定が見つからない場合は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引数の値。

  • month GETクエリ引数の値。

有効な月の指定が見つからない場合は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引数の値。

  • day GETクエリ引数の値。

有効な日の指定が見つからない場合は、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週)に設定します。

バージョン3.2の新機能: '%V'週形式のサポートが追加されました。

week

オプション文字列としての週の値。 デフォルトでは、Noneに設定されています。これは、週が他の手段を使用して決定されることを意味します。

get_week_format()

週を解析するときに使用するstrftime()形式を返します。 デフォルトで week_format を返します。

get_week()

このビューがデータを表示する週を文字列として返します。 次のソースを順番に試します。

  • WeekMixin.week 属性の値。

  • URLパターンでキャプチャされたweek引数の値

  • week GETクエリ引数の値。

有効な週の指定が見つからない場合は404を上げます。

get_next_week(date)

指定された日付の後の週の最初の曜日を含む日付オブジェクトを返します。 この関数は、 allow_empty および allow_future の値に応じて、Noneを返すか、 Http404 例外を発生させることもできます。

get_prev_week(date)

指定された日付の前の週の最初の日を含む日付オブジェクトを返します。 この関数は、 allow_empty および allow_future の値に応じて、Noneを返すか、 Http404 例外を発生させることもできます。


DateMixin

class DateMixin

すべての日付ベースのビューに共通の動作を提供するミックスインクラス。

メソッドと属性

date_field

QuerySetのモデル内のDateFieldまたはDateTimeFieldの名前。これは、日付ベースのアーカイブがページに表示するオブジェクトのリストを決定するために使用する必要があります。

タイムゾーンサポートが有効で、date_fieldDateTimeFieldの場合、日付は現在のタイムゾーンにあると見なされます。 それ以外の場合、クエリセットには、エンドユーザーのタイムゾーンの前日または翌日のオブジェクトが含まれる可能性があります。

警告

この状況で、ユーザーごとのタイムゾーン選択を実装している場合、エンドユーザーのタイムゾーンに応じて、同じURLに異なるオブジェクトのセットが表示される場合があります。 これを回避するには、date_field属性としてDateFieldを使用する必要があります。

allow_future

このページに「future」オブジェクトを含めるかどうかを指定するブール値。「future」は、date_fieldで指定されたフィールドが現在の日付/時刻よりも大きいオブジェクトを意味します。 デフォルトでは、これはFalseです。

get_date_field()

このビューが操作される日付データを含むフィールドの名前を返します。 デフォルトで date_field を返します。

get_allow_future()

このページに「future」オブジェクトを含めるかどうかを決定します。「future」は、date_fieldで指定されたフィールドが現在の日付/時刻よりも大きいオブジェクトを意味します。 デフォルトで allow_future を返します。


BaseDateListView

class BaseDateListView

すべての日付ベースのビューに共通の動作を提供する基本クラス。 通常、 BaseDateListView をインスタンス化する理由はありません。 代わりに、サブクラスの1つをインスタンス化します。

このビュー(およびそのサブクラス)の実行中、self.object_listにはビューが操作しているオブジェクトのリストが含まれ、self.date_listにはデータが利用可能な日付のリストが含まれます。

Mixins

メソッドと属性

allow_empty

使用可能なオブジェクトがない場合にページを表示するかどうかを指定するブール値。 これがTrueであり、使用可能なオブジェクトがない場合、ビューは404を上げる代わりに空のページを表示します。

これは、デフォルト値であるFalseを除いて、 django.views.generic.list.MultipleObjectMixin.allow_empty と同じです。

date_list_period

オプション date_listの集計期間を定義する文字列。 'year'(デフォルト)、'month'、または'day'のいずれかである必要があります。

get_dated_items()

date_listobject_listextra_context)を含む3タプルを返します。

date_listは、データが利用可能な日付のリストです。 object_listはオブジェクトのリストです。 extra_contextは、 MultipleObjectMixin によって提供されるコンテキストデータに追加されるコンテキストデータの辞書です。

get_dated_queryset(**lookup)

lookupで定義されたクエリ引数を使用してフィルタリングされたクエリセットを返します。 allow_emptyallow_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_typeorderingQuerySet.dates()に渡されます。