djangoでは本当に多くの属性が出てくるので覚えるのが大変ですよね。そんな数多くの属性の一つであるverbose_name。
今回はこの使い方についてみていきましょう。
verbose_nameを使うと、管理画面での表示が変わります
結論からお伝えすると、verbose_nameを使うことによって、管理画面での表示内容が変わります。
何が変わるのかというと、モデルの名前です。
モデルは英語でシンプルな名前にしていることが多いですが、それが何を意味すのか分かりづらいこともあるかもしれません。
そのようなときに、verbose_nameを使うことによって、分かりやすい名前にすることができるのです。
verboseは、詳細なという意味があります
ちなみに、verboseという言葉には、詳細なという意味があります。
つまり、モデルで名付けた簡単な名前ではなく、詳細な名前にするということです。
言葉の意味から整理していくと、頭に入りやすいかもしれません。
verbose_nameを設定する前
verbose_nameを設定する前に、設定をしなかった場合の管理画面の表示についてみていきましょう。
verbose_nameの設定と、設定後
ここから、verbose_nameの設定方法についてみていきましょう。
verbose_nameの設定は、models.pyファイルの中で行います。
コード-BASE/app/models.py
class AppModel(models.Model):
...
class Meta:
verbose_name = 'アプリモデル'
modelの中でclass Metaを定義し、この中でverbose_nameを設定しました。
class Metaというのは、直接操作するようなデータではなく、裏で設定されている項目を操作するときに使われるクラスです。
この設定をした結果、管理画面がどのような表示になるのかみてみましょう。
アプリモデルsという記載になりました。
無事に記載が変わったことは確認できたのですが、sをつけた覚えがないにも関わらず勝手についています。
このsを削除するためには、verbose_name_pluralを定義します。
コード-BASE/app/models.py
class AppModel(models.Model):
...
class Meta:
verbose_name_plural = 'アプリモデル'
verbose_nameとverbose_name_pluralは同時に定義する必要はありませんので、sを消して表示したいときはverbose_name_pluralを使うようにしましょう。
上記の設定をすると、管理画面はこのような表示になります。
verbose_nameをうまく使いこなし、誰が見ても分かりやすいようなサイトにしていきましょう。