多くのアプリがあり、すべてのアプリのすべてのモデルの管理者をアクティブ化したいと思います。
数か月間、友人の1人がadmin.pyファイルなしで管理サイトを有効にする何かをしたことを覚えています。
settings.py
彼はファイルで何かをしINSTALLED_APPS
、すべてのアプリが管理セクションに表示されました
私は今それを見つけることができません。誰??
ドキュメントの指示に従ってください。ここでは、django管理サイトをアクティブ化する方法について説明しています。を変更する必要がありますurls.py
。それでおしまい。
そのファイルには、コメントを外す3行を示すコメントもあります。
あなたの友人はおそらく次のようなことをしました...
from django.db.models import get_models
for model in get_models():
admin.site.register(model)
彼のadmin.pyファイルの1つ。
私は知らない、私はものをテストするためにこれをするだけだろう。少し不思議です。unregister
再度登録する可能性のあるモデルを明示的に指定する必要があることを忘れないでください。
admin.py
これはDjangoの規則であり、達成しようとしていることを明確にすることは良いことであるため、アプリにを含めることをお勧めします。私が使用するソリューションは、admin.py
起動するすべての新しいアプリの次のデフォルトテンプレートです。
# Auto registers any new models with the admin, eventually you will want a tailored admin.py
from django.contrib import admin
current_app = models.get_app(__package__)
for model in models.get_models(current_app):
admin.site.register(model, admin.ModelAdmin)