... いては、 クラスをデコレーションする を参照してください。 特定のHTTPメソッドのみ許可する ¶ django.views.decorators.http にあるデコレータを使用することで、リクエストメソッドに基づいてビューへのアクセスを制限できます。アクセスが制限されるとき、これらのデコレータ ... 返します。 require_http_methods ( request_method_list ) [ソース] ¶ ビューが特定のリクエストメソッドのみを受け付けるようにするデコレータです。以下のように使います。 from django.views.decorators.http import require_http_methods @require_http_methods ([ "GET" , ... トメソッドは大文字で指定する必要があることに注意してください。 require_GET () ¶ ビューがGETメソッドのみを受け付けるようにするデコレータです。 require_POST () ¶ ビューがPOSTメソッドのみを受け付けるようにするデコレータです。 require_safe () ¶ ビューが GET メソッ ... ... いては、 クラスをデコレーションする を参照してください。 特定のHTTPメソッドのみ許可する ¶ django.views.decorators.http にあるデコレータを使用することで、リクエストメソッドに基づいてビューへのアクセスを制限できます。アクセスが制限されるとき、これらのデコレータ ... 返します。 require_http_methods ( request_method_list ) [ソース] ¶ ビューが特定のリクエストメソッドのみを受け付けるようにするデコレータです。以下のように使います。 from django.views.decorators.http import require_http_methods @require_http_methods ([ "GET" , ... トメソッドは大文字で指定する必要があることに注意してください。 require_GET () ¶ ビューがGETメソッドのみを受け付けるようにするデコレータです。 require_POST () ¶ ビューがPOSTメソッドのみを受け付けるようにするデコレータです。 require_safe () ¶ ビューが GET メソッ ... ... Failed) may be returned. より細かい粒度のコントロールが必要な場合には、ビューごとの条件付き処理関数を使えます。 condition デコレータ ¶ 時には(実際にはかなり頻繁に)、リソースの ETag 値や最終更新時間を迅速に計算する関数も作成できます。これは、完全なビュー ... コンテンツが前回のリクエスト以降変更されていないことを伝えます。 これら 2 つの関数は django.views.decorators.http.condition デコレータのパラメータとして渡されます。このデコレータは、HTTP リクエストのヘッダがリソースのヘッダと一致するかどうかを調べるために、2 ... 渡す必要があります) を使用します。もし一致しなければ、リソースの新しいコピーを計算して通常のビューを呼び出します。 condition デコレータのシグネチャは次のようになります。 condition ( etag_func = None , last_modified_func = None ) ETag と最終更新時間を計算するた ... ... Failed) may be returned. より細かい粒度のコントロールが必要な場合には、ビューごとの条件付き処理関数を使えます。 condition デコレータ ¶ 時には(実際にはかなり頻繁に)、リソースの ETag 値や最終更新時間を迅速に計算する関数も作成できます。これは、完全なビュー ... コンテンツが前回のリクエスト以降変更されていないことを伝えます。 これら 2 つの関数は django.views.decorators.http.condition デコレータのパラメータとして渡されます。このデコレータは、HTTP リクエストのヘッダがリソースのヘッダと一致するかどうかを調べるために、2 ... 渡す必要があります) を使用します。もし一致しなければ、リソースの新しいコピーを計算して通常のビューを呼び出します。 condition デコレータのシグネチャは次のようになります。 condition ( etag_func = None , last_modified_func = None ) ETag と最終更新時間を計算するた ... ... ます。 クラスベースのビューをデコレーションする ¶ クラスベースのビューを拡張する方法は、ミックスインの使用にとどまりません。デコレータも使用できます。クラスベースのビューは関数ではないので、 as_view() を使用した場合とサブクラスを作成した場合では、デコレータは ... "secret.html" ))), path ( "vote/" , permission_required ( "polls.can_vote" )( VoteView . as_view ())), ] このアプローチではデコレータはインスタンスごとに適用されます。もしあるビューのすべてのインスタンスをデコレーションしたいばあいは、別のアプローチを取る必 ... スをデコレーションするには、クラスの定義自体をデコレーションする必要があります。そのためには、クラスの dispatch() メソッドにデコレータを付けます。 クラス上のメソッドはスタンドアロンの関数と完全に同じではないため、関数デコレータを単純にそのままメソッドに適用す ... ... なければならない) 関数は適切にラップされていればデコレートできます、つまり functools.wraps() を使います。 functools.cache() デコレータと functools.lru_cache() デコレータは明示的にサポートされています。 クラスの本体から使用されている束縛されていないメソッド 任 ... クタのすべての引数がそれ自体でシリアライズ可能である場合には、次のように django.utils.deconstruct の @deconstructible クラスデコレータを使うことで deconstruct() メソッドを追加できます。 from django.utils.deconstruct import deconstructible @deconstructible cl ... lass : def __init__ ( self , foo = 1 ): self . foo = foo ... def __eq__ ( self , other ): return self . foo == other . foo デコレータは、コンストラクタに与えられる引数を独自の方法でキャプチャし保存しておきます。そして、 deconstruct() が呼ばれるタイミングで、 ... ... なければならない) 関数は適切にラップされていればデコレートできます、つまり functools.wraps() を使います。 functools.cache() デコレータと functools.lru_cache() デコレータは明示的にサポートされています。 クラスの本体から使用されている束縛されていないメソッド 任 ... クタのすべての引数がそれ自体でシリアライズ可能である場合には、次のように django.utils.deconstruct の @deconstructible クラスデコレータを使うことで deconstruct() メソッドを追加できます。 from django.utils.deconstruct import deconstructible @deconstructible cl ... lass : def __init__ ( self , foo = 1 ): self . foo = foo ... def __eq__ ( self , other ): return self . foo == other . foo デコレータは、コンストラクタに与えられる引数を独自の方法でキャプチャし保存しておきます。そして、 deconstruct() が呼ばれるタイミングで、 ... ... ます。 クラスベースのビューをデコレーションする ¶ クラスベースのビューを拡張する方法は、ミックスインの使用にとどまりません。デコレータも使用できます。クラスベースのビューは関数ではないので、 as_view() を使用した場合とサブクラスを作成した場合では、デコレータは ... "secret.html" ))), path ( "vote/" , permission_required ( "polls.can_vote" )( VoteView . as_view ())), ] このアプローチではデコレータはインスタンスごとに適用されます。もしあるビューのすべてのインスタンスをデコレーションしたいばあいは、別のアプローチを取る必 ... スをデコレーションするには、クラスの定義自体をデコレーションする必要があります。そのためには、クラスの dispatch() メソッドにデコレータを付けます。 クラス上のメソッドはスタンドアロンの関数と完全に同じではないため、関数デコレータを単純にそのままメソッドに適用す ... ... の名前 -- 文字列です。 編集用の関数 -- Python の関数です (文字列としての関数名ではありません)。 代わりに register.filter() をデコレータとして使用できます。 @register . filter ( name = "cut" ) def cut ( value , arg ): return value . replace ( arg , "" ) @regis ... go.template.defaultfilters. stringfilter () ¶ 第 1 引数として文字数を要求するだけのテンプレートフィルタを記述している場合、デコレータ stringfilter を使う必要があります。これは、関数に渡される前にオブジェクトを文字列に変換します。 from django import templat ... の名前が使用されます。 編集用の関数 -- Python の関数です (文字列としての関数名ではありません)。 フィルタ登録と同様に、これをデコレータとして使うこともできます。 @register . tag ( name = "current_time" ) def do_current_time ( parser , token ): ... @register . ... ... の名前 -- 文字列です。 編集用の関数 -- Python の関数です (文字列としての関数名ではありません)。 代わりに register.filter() をデコレータとして使用できます。 @register . filter ( name = "cut" ) def cut ( value , arg ): return value . replace ( arg , "" ) @regis ... go.template.defaultfilters. stringfilter () ¶ 第 1 引数として文字数を要求するだけのテンプレートフィルタを記述している場合、デコレータ stringfilter を使う必要があります。これは、関数に渡される前にオブジェクトを文字列に変換します。 from django import templat ... の名前が使用されます。 編集用の関数 -- Python の関数です (文字列としての関数名ではありません)。 フィルタ登録と同様に、これをデコレータとして使うこともできます。 @register . tag ( name = "current_time" ) def do_current_time ( parser , token ): ... @register . ... 2026年10月08日