MENU

Djangoのモデル(データベース)を管理画面に表示してみる。ただそれだけ。

2020 2/11
Djangoのモデル(データベース)を管理画面に表示してみる。ただそれだけ。

こんにちは。可視化可視化の世の中。悪事もデータも見える化される時代になりました。

今回はDjangoのモデルを管理画面で表示させていきます。

 

事前に読んでおくと良いおすすめ記事

あわせて読みたい
Djangoのインストールからプロジェクトの作成まで
Djangoのインストールからプロジェクトの作成までこんにちは,ちゆりです。個人的にはpythonのフレームワークはFlaskを使うことが多く,自分の好みなのですが,「そろそろdjangoも覚えておくのもいいな。」と思ったので...
あわせて読みたい
Djangoの管理画面を日本語化する。ただそれだけ。
Djangoの管理画面を日本語化する。ただそれだけ。今回はDjangoの管理画面を日本語化します。そうです。ただそれだけの記事【Djangoの管理画面を日本語化する】Djangoのサーバーを起動し,$ python manage.py runserverh...
目次

Djangoのモデル(データベース)を管理画面で表示

Djangoの管理画面は初期状態ではこんな感じ。
「グループ」と「ユーザー」しかありません。

ここに自分で定義したモデルを追加し,可視化していきましょう。

モデルの例

こんなモデルがあったとします。モデルはmodels.pyに記述

class Example(models.Model):
    name = models.CharField(max_length=70)
    birthday = models.DataField()
    profile = models.TextField()

    def __str__(self):
        return self.name

[名前]と[誕生日]と[プロフィール]だけを定義したなんてことないモデルです。

気をつけるポイントは↓この部分なんですが,後ほど詳しく説明します。

def __str__(self):
    return self.name

管理画面へ設定

アプリケーションディレクトリ配下のadmin.pyをいじっていきます。

以下のようなルールで記述するだけでOK!

from アプリケーション名.models import モデル名
admin.site.register(モデル名)

今回の場合は以下のようになります(アプリケーション名はmyapp)。

from django.contrib import admin

# Register your models here.

from myapp.models import Example
admin.site.register(Example)

モデルの変更を行った場合はしっかりマイグレーション

$ python3 manage.py makemigrations myapp

そして続けて

$ python3 manage.py migrate

これで反映完了です。
エラーコードが出た場合はプロジェクト名、アプリ名がしっかり指定されているか確認してみましょう。もしくはモデルの作り方がマズイのかも..

管理画面で確認

アプリを立ち上げ

$ python3 manage.py runserver

http://127.0.0.1:8000/admin へアクセスを行います。

お。どうです?
[Examples]が追加されていますね。これはクラス名の複数形になるようです。

(スーパーマリオというクラスならスーパーマリオブラザーズになります。どうでもいい..。)

この[Examples]に対して追加を管理画面上から行うこともできます。

Djangoの処理の中でデータベースへ書き込んだ内容もこの管理画面に反映され,確認することもできます。

管理画面での表示

さて。お待たせいたしました。モデルの定義の段階で記述した

def __str__(self):
    return self.name

はExmplesに保存された値を管理サイトで人間が読める形で表示するときに便利です。今回はreturnnameを返していますので。管理画面上ではnameに入力した値が返され,表示されるようになります。

ちゆりという名前がしっかり返されて表示されていますね。

以上。

Djangoのモデル(データベース)を管理画面に表示してみる。でした。

★次に読んでほしい記事

あわせて読みたい
DjangoでHTMLで作成したページを表示させるだけ。ただそれだけ
DjangoでHTMLで作成したページを表示させるだけ。ただそれだけこんにちは。ちゆりです。ええ。まだやってますよ。Django.飽きもせずDjangoを触っています。Flaskから乗り換えるために一通りの実装を行い備忘録として記事でまとめて...
あわせて読みたい
DjangoのstaticディレクトリでCSSとJSを扱う
DjangoのstaticディレクトリでCSSとJSを扱うFlaskを使っているとCSSやJava Scriptはstaticというディレクトリに格納するだけ。それだけで読み込みが簡単なのですがDjangoはいろいろと設定が多くてめんどくさい印象...

この記事が気に入ったら
フォローしてね!

この記事を書いた人

6年間化学を専攻していたのになぜか一部上場のIT企業のエンジニアへ。
普段はWeb系のITエンジニアとしてサラリーマンをしているが、脱サラ田舎暮らしに憧れ,システム開発やブログ収益化を目指す。

コメント

コメントする

目次
目次