日付ベースのミックスイン (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_emptyallow_future の値によって None を返したり、 Http404 例外を発生させたりします。

get_previous_year(date)[ソース]

指定した日付の前の年の最初の日を含む日付オブジェクトを返します。この関数は allow_emptyallow_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_emptyallow_future の値によって None を返したり、 Http404 例外が発生したりします。

get_previous_month(date)[ソース]

指定した日付の前の月の最初の日を含む日付オブジェクトを返します。この関数は allow_emptyallow_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_emptyallow_future の値によって None を返したり、 Http404 例外を発生させたりします。

get_previous_day(date)[ソース]

有効な前日を含む日付オブジェクトを返します。この関数は allow_emptyallow_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_emptyallow_future の値によっては、 None を返すか、 Http404 例外を発生させることがあります。

get_prev_week(date)

指定した日付の、前の週の初日のdateオブジェクトを返します。またこの関数は、 allow_emptyallow_future の値によっては、 None を返すか、 Http404 例外を発生させることがあります。

DateMixin

class DateMixin[ソース]

すべてのデータベースのビューに共通の動作を提供する mixin クラス。

メソッドと属性

date_field

QuerySet のモデル内の DateField または DateTimeField の名前です。日付ベースのアーカイブがページに表示するオブジェクトのリストを決定する際に使用します。

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

警告

このような場合、ユーザーごとのタイムゾーン選択を実装していると、同じ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_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() に渡されます。

Back to Top