【Udemy:Day2】Djangoの基礎をマスターして、3つのアプリを作ろう!
受講後記
学習時間
4時間
総評
Djangoの特徴を踏まえながら開発をすすめることができた。
知識の定着のため、復習する必要はあるね。
講座メモ
目標
todoリストを作成する。
・優先度によって色が変わる
・modelsを使いこなせるようになる
初期設定
「django-admin」で、「.」をつける意味
余計なフォルダができてしまうため。
models.pyについて
・DBを扱うときの設計書(細かい設定はなしでいける)
※そもそもDBとは何なのか?→きれいに整頓された図書館
・はじめのモデル作成
どんな項目をつくるのか
どんなデータを入れてくるのか(文字列?数字?)
・modelsフィールドは以下で調べる
Qiitaで調べる
Djangoの公式サイト(難易度高)
makemigrationsとmigrateについて
makemigrations:過去の変更履歴、エラーの出力
migrate:実際のDBに書き込む操作(initalをもとに作る。それ以外は初期値)
上の2つをすることでDBを作る
管理画面とCreateSuperUser
・データを簡単に入れる機能:管理画面
・CreateSuperUserをmanage.pyから作る
CRUD
・modelsで作ったデータをhtmlに埋め込む
C:作る
R:読み込む
U:更新
D:削除
例:ツイッター、FB
・CRUDとDjangoのテンプレート
C:CreateView
R:ListView、DetailView
U:UpdateView
D:DeleteView
R:ListView
データの一覧をリストとして表示する
list.htmlのタグ説明
・{% %}:複雑な処理
・{{ }} :データ
・< > :タグ
R:DetailView
データの中身を表示することに適したテンプレート
detailは、どのデータを持ってくるのか伝える必要がある
→方法は、ObjectPkと/を使う
url.pyにprimary_keyを/あとにいれる
Bootstrapを使ってみる
見た目を整えるために使用するFW
きれいなデザインを作れるコード群
効率的にサイトを作成するなら必須!!
テンプレートを使い回す
重複している部分が多い
→Djangoの得意技!!!!
例:base.html(Block sidebarやcontent)などなど
見た目をととのえる
・Header
・ListBox
CSSとモデルのデータを連携させる
モデルのpriorityと画面表示の色をつなげる。
・ジャンゴのタグを埋め込む!
・mode.pyのDBの設計を再度書き込ませる
(コードに「,」を書き忘れて、ワチャワチャした)
C:CreatelView
実際に新しくデータを作るときに使うテンプレート
エラーで躓いた箇所
・CreatelViewするときは、model.pyでどの項目を作るか明記する
・CSRF verification failed. Request aborted.は「クロスサイトスクリプト防止」
・ImproperlyConfigured at /create/
データの作成はできたけど、リダイレクト先がわからない
→reverse_lazyを使う
reverse_lazy(クラスの中でreverseを使う場合)
reverse(URLを逆回りするview→url)
D:DeleteView
削除をするときに使用するテンプレート
・/<int:pk>が必要
U:UpdateView
データを更新するときに使用するテンプレート
・スペルミスが発生。スペリングが課題
細かい修正、URLつなぎこみ
・エラー:NoReverseMatch at /list/
URLで移動させる個別の指示が入っていない
まとめ
何回もコードを書いていくことが理解を深めるコツ!!!
・model(DBを扱う設計書、DBを簡単に扱える)
・管理画面(効率的に管理画面を扱える)
・Base.html(実際にHTMLを作る時のテンプレート)
・CRUDとそれぞれのView(modelの機能性)
・Csrf_token,reverse,pk(意識しとくとエラー回避できる)
・BootStrap:WebFWの紹介、使い方
この記事が気に入ったらサポートをしてみませんか?