2017-01-24 15 views
2

私はdjangoアプリで一度だけ実行されるコードを実行したいと思います。Djangoカスタムアプリの設定

私の構造:

company 
    project 
    common 
     project_config.py 
    __init__.py 

__init__.py

default_app_config = "company.project.common.ProjectConfig" 

settings.py

.. 
INSTALLED_APPS = (
    "company.project" 
) 
.. 

ProjectConfig.py

from django.apps import AppConfig 

class ProjectConfig(AppConfig): 
    name = "company.project" 

    def ready(self): 
     do_something() 

私の設定でready()メソッドが呼び出されているとは限りません。

どうしたのですか?

はこれを試してみてください:

+0

たぶん私はあなたがここで何をしようとして誤解です、どこかで "準備完了"機能を呼び出す必要はありませんか?あなたはDjangoシェルの起動、ProjectConfigのインポートを試してみました。 – called2voyage

+0

ドキュメントによると、Djangoが呼び出す必要があります – Dejell

答えて

2

documentationによると、あなただけのAppConfigサブクラスまでINSTALLED_APPSを指し、_init_.pyファイルを必要といけない

INSTALLED_APPS = (
    'company.project.common.ProjectConfig', 
)