Django / Pythonアプリケーションの起動時にデコレータ関数を実行するにはどうすればよいですか?

bmjrowe

デコレータ関数を実行したいクラスがいくつかあります。私が知っているように、デコレータは、クラス/関数/それらがラベル付けするものがコードにロードされたときにのみ実行されます。

例えば

def decorator(cls):
  print("Decorator executed")
  return cls

@decorator
class Example:
  pass

Example()

各クラスを個別にロードせずに、djangoアプリケーションの起動時にデコレータがラベル付けするすべてのクラスでデコレータ関数トリガーするにはどうすればよいですか?(またはデコレータがラベル付けするクラスの知識がない場合)

bmjrowe

ソリューションの更新:

デコレータ関数を実行したいクラスがたくさんあり、それらはすべてクラス名に「Model」が含まれていました。クラスのデコレータは、指定されたクラスのインポート時に実行されるため、回避策として、クラス名に「Model」を含むすべてのクラスをインポートする関数(起動時に実行)を作成し、副産物としてデコレータ関数をこれらすべてに対して実行しましたクラス。

import glob
import importlib.util


def execute_decorator_against_classes():
    for filename in glob.iglob("**/*Model.py",
                               recursive=True):
        module_name = filename.split("/")
        module_name = module_name[len(module_name) - 1]
        module_name = module_name[:module_name.rfind('.py')]
        spec = importlib.util.spec_from_file_location(module_name,
                                                      filename)
        foo = importlib.util.module_from_spec(spec)
        spec.loader.exec_module(foo)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

django Webアプリケーションからシステムコマンドを実行するにはどうすればよいですか?

分類Dev

djangoでPython関数の処理中にアニメーションアイコンを表示するにはどうすればよいですか?

分類Dev

Django:サーバーの終了時に関数を実行するにはどうすればよいですか?

分類Dev

AjaxをDjangoアプリケーションと統合するにはどうすればよいですか?

分類Dev

Djangoアプリケーションの起動時に無期限に実行されるシングルトンセロリタスクをどのように作成しますか?

分類Dev

DjangoアプリケーションのProphetモデルを提供するにはどうすればよいですか?

分類Dev

サーバーを停止せずにdjangoアプリケーションの背後で暗号化するにはどうすればよいですか?

分類Dev

Djangoアプリケーションに必要なAWSRDSインスタンスを把握するにはどうすればよいですか?

分類Dev

Djangoテンプレートで動的データを作成するにはどうすればよいですか?

分類Dev

Django サイトに 2 つのアプリケーション/ページを追加するにはどうすればよいですか?

分類Dev

インターネットサーバーでPython(django)アプリを実行するにはどうすればよいですか?

分類Dev

Djangoアプリケーションが開発サーバーで実行されているかどうかを確認するにはどうすればよいですか?

分類Dev

djangoアプリケーションでPaypalのWebhookを使用するにはどうすればよいですか

分類Dev

Djangoアプリケーションの静的Javascriptで静的mp3ファイルを再生するにはどうすればよいですか?

分類Dev

Djangoでこのコンテキストディクショナリを適切にループするにはどうすればよいですか?

分類Dev

DjangoとjQueryに組み込まれているチャットアプリケーションを更新するにはどうすればよいですか?

分類Dev

Django:ForiegnKeyに基づいてクエリを実行し、各ForeignKeyの関連データを表示するにはどうすればよいですか?

分類Dev

4つのテーブルを持つDjangoリレーショナルデータベースを作成するにはどうすればよいですか?

分類Dev

Django RESTフレームワークでデフォルトの日時シリアル化を使用するにはどうすればよいですか?

分類Dev

Django-独自のタイプのコレクションを含むモデルを作成するにはどうすればよいですか?

分類Dev

選択肢のあるテキストフィールドでdjango管理アクションを実行するにはどうすればよいですか?

分類Dev

AWS Elastic BeanstalkでスケーラブルなDjangoアプリでセロリワーカーを実行するにはどうすればよいですか?

分類Dev

Django Rest Frameworkでアプリケーションログを表示するにはどうすればよいですか?

分類Dev

Djangoセッション変数をデータベースとの間で保存および取得するにはどうすればよいですか?

分類Dev

外部サービスに到達するdjangoアプリケーションのコンポーネントをモックするにはどうすればよいですか?

分類Dev

Djangoテンプレート内のコレクションのサイズを確認するにはどうすればよいですか?

分類Dev

パラメータを使用してDjangoのURLまたはHTMLテンプレートをレンダリングするAJAXコールバック関数を取得するにはどうすればよいですか?

分類Dev

django UpdateViewでform_validアクションの後に他のデータを保存するにはどうすればよいですか?

分類Dev

Django OneToManyリレーションを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    django Webアプリケーションからシステムコマンドを実行するにはどうすればよいですか?

  2. 2

    djangoでPython関数の処理中にアニメーションアイコンを表示するにはどうすればよいですか?

  3. 3

    Django:サーバーの終了時に関数を実行するにはどうすればよいですか?

  4. 4

    AjaxをDjangoアプリケーションと統合するにはどうすればよいですか?

  5. 5

    Djangoアプリケーションの起動時に無期限に実行されるシングルトンセロリタスクをどのように作成しますか?

  6. 6

    DjangoアプリケーションのProphetモデルを提供するにはどうすればよいですか?

  7. 7

    サーバーを停止せずにdjangoアプリケーションの背後で暗号化するにはどうすればよいですか?

  8. 8

    Djangoアプリケーションに必要なAWSRDSインスタンスを把握するにはどうすればよいですか?

  9. 9

    Djangoテンプレートで動的データを作成するにはどうすればよいですか?

  10. 10

    Django サイトに 2 つのアプリケーション/ページを追加するにはどうすればよいですか?

  11. 11

    インターネットサーバーでPython(django)アプリを実行するにはどうすればよいですか?

  12. 12

    Djangoアプリケーションが開発サーバーで実行されているかどうかを確認するにはどうすればよいですか?

  13. 13

    djangoアプリケーションでPaypalのWebhookを使用するにはどうすればよいですか

  14. 14

    Djangoアプリケーションの静的Javascriptで静的mp3ファイルを再生するにはどうすればよいですか?

  15. 15

    Djangoでこのコンテキストディクショナリを適切にループするにはどうすればよいですか?

  16. 16

    DjangoとjQueryに組み込まれているチャットアプリケーションを更新するにはどうすればよいですか?

  17. 17

    Django:ForiegnKeyに基づいてクエリを実行し、各ForeignKeyの関連データを表示するにはどうすればよいですか?

  18. 18

    4つのテーブルを持つDjangoリレーショナルデータベースを作成するにはどうすればよいですか?

  19. 19

    Django RESTフレームワークでデフォルトの日時シリアル化を使用するにはどうすればよいですか?

  20. 20

    Django-独自のタイプのコレクションを含むモデルを作成するにはどうすればよいですか?

  21. 21

    選択肢のあるテキストフィールドでdjango管理アクションを実行するにはどうすればよいですか?

  22. 22

    AWS Elastic BeanstalkでスケーラブルなDjangoアプリでセロリワーカーを実行するにはどうすればよいですか?

  23. 23

    Django Rest Frameworkでアプリケーションログを表示するにはどうすればよいですか?

  24. 24

    Djangoセッション変数をデータベースとの間で保存および取得するにはどうすればよいですか?

  25. 25

    外部サービスに到達するdjangoアプリケーションのコンポーネントをモックするにはどうすればよいですか?

  26. 26

    Djangoテンプレート内のコレクションのサイズを確認するにはどうすればよいですか?

  27. 27

    パラメータを使用してDjangoのURLまたはHTMLテンプレートをレンダリングするAJAXコールバック関数を取得するにはどうすればよいですか?

  28. 28

    django UpdateViewでform_validアクションの後に他のデータを保存するにはどうすればよいですか?

  29. 29

    Django OneToManyリレーションを作成するにはどうすればよいですか?

ホットタグ

アーカイブ