(最終更新月:2021年12月)
「モデルクラスでlabel表記の変更がしたい!」
「フォームクラスでwidgetをいじるのが面倒くさい!」
「textareaに対応しているモデルフィールドってどれ?」
などというDjango初学者の方へ向けての記事となります
当記事を通じて、
- models.TextFieldについて
- モデルフィールドの表記名を変更する「verbose_name」について
解説していきます
現状、フォームとして表示をすると、

となり、変更したい点は下記の通りです
- 「input」フォームを「textarea」へ
- ラベルの英語表記を日本語表記へ
これらの変更をモデルクラス内から行っていきます
順を追ってみていきましょう!
当記事はアプリ開発~公開までをご紹介しているシリーズの一記事になります
最終的には、下記リンク先のような日報アプリを開発、公開できるように進めていきます
興味のある方は下記よりシリーズをまとめたページへお進みください

textareaに対応している「TextField」
文字列を保存するのによく使われる「models.CharField」はフォームで表示した場合、
<input type="text">
がデフォルトとなっています
最初からtextareaで表示すると決まっている場合は、
models.TextField
を使いましょう!
【コード例】
content = models.TextField()
max_length引数などの設定は不要になります
ラベル表記を変更する「verbose_name」
モデルフィールド名を指定する場合、
verbose_name
へ値を格納します
【コード例】
content = models.TextField(verbose_name="内容")
nippo > models.py
開発中の日報アプリでのコードを例に、全体は下記の通りとなりました
from django.db import models
class NippoModel(models.Model):
title = models.CharField(max_length=100, verbose_name="タイトル")
content = models.TextField(max_length=1000, verbose_name="内容")
timestamp = models.DateTimeField(auto_now_add=True)
マイグレーションを行い、
Migrations for 'nippo':
nippo/migrations/0002_auto_20211201_1306.py
- Alter field content on nippomodel
- Alter field title on nippomodel
Applying nippo.0002_auto_20211201_1306... OK
Applying nippo.0003_alter_nippomodel_content... OK
と出てくれば完了です!
まとめ
変更後、ブラウザからアクセスすると、

無事完成してました!
- textareaがデフォルトのモデルフィールド「TextField」
- モデルフィールド名を任意に変更できる「verbose_name」
についての解説でした!
次回は、クラスベースビュー「DeleteView」について解説していきます
当ブログでは、日報アプリ開発を通じて、Webアプリを一から開発し公開するまでを初学者の方でもわかるようにと記事を連載しています
「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」
という方は必見です!
