モデルとフィールドのverbose_name属性について
モデルはDBにおけるテーブル、フィールドはテーブル内の各カラム(各項目)としてとらえることができる。
管理者サイト上では、モデル(テーブル)と各フィールド(各項目)を表示させて、追加・閲覧・更新・削除ができるが、
その際にverbose_name属性を使うことでわかりやすく表示させることができる。
verbose_nameでモデル名とフィールド名をわかりやすく表示する方法
~models.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
from django.db import models # Create your models here. class Blog(models.Model): #verbose_nameはadminサイトの個別ページで表示させるフィールド名称 title = models.CharField(max_length=50, verbose_name="タイトル") content = models.CharField(max_length=50, verbose_name="コンテンツ") #adminサイトの一覧表示する際の名称 def __str__(self): return self.title #Django管理者サイトの左メニューに表示させる名称を指定 class Meta: verbose_name = "ブログ" verbose_name_plural = "ブログ" |
Djangoでは、モデル(Blog)と各フィールド(タイトルとコンテンツ)のそれぞれがverbose_name属性を持つ。
verbose_nameを指定することで、管理者サイト上で指定した名称で表示させることができるので見やすくなる。
一覧画面でのモデル名の指定
モデル自体のverbose_nameはclass Meta:の節で指定することができ、ここで指定した言葉がモデル自体の名称として管理者サイト上で表示される。
今回のBlogのように英語でもモデル名自体がわかりやすい場合はあるが、verbose_nameを使えば日本語を指定することができる。
verbose_nameとverbose_name_pluralがあるが、両方ともに同じもので良いと思われる。
厳密には、class Meta節の中でverbose_nameのみブログに指定すると「ブログs」、verbose_name_pluralもブログで指定すると「ブログ」と表示される。
※ここで指定した名称が管理者サイト上の左上に表示される。
個別画面での各フィールド名の指定
フィールド名のverbose_nameは、管理者サイト上でモデル(DB)の各レコードを開き、個別画面を表示したときの各フィールド名称を指定できる。
例えば、Blogモデルには「記事1」というタイトルの記事があった場合、
管理者サイト上でBlogモデルから記事1を選択すると、詳細画面ではtitleとcontentのフィールドが表示されるが、その時に表示されるものが、titleはタイトル、contentはコンテンツとなる。
Django記事一覧
コメント