1. ホーム
  2. python

[解決済み] Django アプリに、管理者全体で使用するための冗長な名前を付けることはできますか?

2022-04-28 13:20:41

質問

Django の管理画面に表示されるフィールドやモデルに冗長な名前を付けられるのと同じように、アプリにカスタム名を付けることはできますか?

どのように解決するのですか?

Django 1.8+

につきまして 1.8 docs (そして 現在のドキュメント ),

新規アプリケーションは避けるべき default_app_config . その代わりに、適切な AppConfig のサブクラスで明示的に設定する必要があります。 INSTALLED_APPS .

INSTALLED_APPS = [
    # ...snip...
    'yourapp.apps.YourAppConfig',
]

次に AppConfig を以下に示します。

Django 1.7

OP に対する rhunwicks さんのコメントにあるように、Django 1.7 からは箱から出しても可能になりました。

から引用しています。 ドキュメント :

# in yourapp/apps.py
from django.apps import AppConfig

class YourAppConfig(AppConfig):
    name = 'yourapp'
    verbose_name = 'Fancy Title'

を設定すると default_app_config 変数を YourAppConfig

# in yourapp/__init__.py
default_app_config = 'yourapp.apps.YourAppConfig'

Django 1.7より前のバージョン

モデル定義でapp_labelを定義することで、アプリケーションにカスタム名を付けることができます。しかし、django が管理ページを構築するとき、app_label によってモデルをハッシュ化するので、一つのアプリケーションで表示させたい場合は、アプリケーションの全てのモデルでこの名前を定義しなければなりません。

class MyModel(models.Model):
        pass
    class Meta:
        app_label = 'My APP name'