previous arrowprevious arrow
next arrownext arrow
Shadow
Slider

Django独学 DBに列を追加してWEBアプリに表示

Djangoのユーザ管理アプリ作成の目次ページはこちらです。

 

今回はDBに列を追加して、追加した列を表示させます。

UdemyのDjangoの基礎をマスターして、3つのアプリを作ろう!を参考に勉強していています。

Djangoで追加する機能の概要

ユーザの詳細ページに自己紹介を表示させます。

データベースに自己紹介の列がないので、列追加から行います。

Models.pyから列を追加

データベースの定義を決めて作成したのは、models.pyのファイルでした。

なので、今回もModels.pyに追記をします。

内容は以下の通りです。

自己紹介の列を追加します。

その後、マイグレーションファイルを作成し、DBへ反映します。

これでDBに自己紹介の列が追加されました。

今回はDBに自己紹介を直接登録します。

今はユーザ情報をメンテナンスる機能はないためです。

python manage.py makemigrations myapp

を行うと、C:\django\myproject\myapp\migrationsの中に

「0002_userinfo_selfintroduction.py」ができます。

ここには列追加をする情報がかかれています。

detail.htmlを修正して、自己紹介列を表示させる

detail.htmlを修正して、自己紹介列を表示できるように修正していきます。

12行目で追加した自己紹介列を表示させています。

結果はこんな感じです。

views.pyデータを抽出する箇所は修正不要です。

userinfoDetail = get_object_or_404(UserInfo,pk=id)

上記ですべての列の情報を抽出して、detail.htmlに渡しているいるからです。

そのため、増えた列を表示する修正をhtml側に行えばOKなのです。

少し発展編:DB登録した改行をHTML側でも反映させる

先ほどの表示結果、実はDBに登録した改行が反映されていません。

本当は以下のように登録されています。

ゆいです。
プログラミングスクールに行くか迷っています!
情報を下さい!

DBに登録されている改行コードはHTMLの<br>ではないためです。

対応方法としては、{{変数|linebreaksbr}}とするだけです。

表示結果を見てみると上手く改行されました。

改行が含まれるデータを扱うことがある場合は、覚えておいてください。

独学にはないプログラミングスクールの価値を実体験から解説 「お金がかかるプログラミングスクールではなく独学ではダメかな?」 「プログラミングスクールのどういう所がいいのかなぁ?」...
ABOUT ME
LooseCarrot
LooseCarrot
ブログ運営をしているLooseCarrotです。 興味のあることにトライして発信していきます! プロフィール

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です