不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

paizaラーニング『Django入門編4: 実用的なDjangoアプリを作ろう (全11回)』を受講してみた

2021-03-04 22:20:55 | paiza

『Django入門編4: 実用的なDjangoアプリを作ろう (全11回)』


PHP+Laravelの入門講座と同じような構成だな。

メモ

#01:アプリの概要を整理しよう 

  • ルーティング
ルートビュー表示ページ
(ドメイン名)/lunchmap/
IndexView.as_view()
一覧表示
(ドメイン名)/lunchmap/<id>
DetailView.as_view()
詳細画面
(ドメイン名)/lunchmap/create
CreateView.as_view()
新規作成画面
(ドメイン名)/lunchmap/<id>/update
UpdateView.as_view()
更新画面
(ドメイン名)/lunchmap/<id>/delete
DeleteView.as_view()
削除
(ドメイン名)/admin/
admin.site.urls
管理サイト


#02:プロジェクトを準備しよう

  • プロジェクトを作成する。
    $ django-admin startproject myapp
  • アプリケーションを作成する
    $ python manage.py startapp lunchmap
  • アプリケーションを登録する
    myapp/myapp/settings.py
    • INSTALLED_APPS = [
       'lunchmap.apps.LunchmapConfig',

#03:データベースのモデルを作成しよう

  • phpMyAdminで、lunchmapdbを作成しておく。
    • Laravelのときと被ってしまうからlunchmapdb_djangoとしておこう。
  • settings.pyで、データベースを設定
    myapp/myapp/settings.py
  • models.pyを記述
    myapp/lunchmap/models.py
    • class Category(models.Model):
    • class Shop(models.Model):
  • マイグレーションファイルを作成する
    $ python manage.py makemigrations lunchmap
  • マイグレーションを実行する
    $ python manage.py migrate

#04:Djangoの管理サイトを設定しよう

  • 管理ユーザーをコマンドで登録する
    $ python manage.py createsuperuser
  • admin.pyにモデルを登録する
    myapp/lunchmap/admin.py

#05:お店一覧ページを作ろう

  • プロジェクトのurls.pyを記述する
    myapp/myapp/urls.py
  • lunchmapのurls.pyを作成する
    myapp/lunchmap/urls.py
  • views.pyにIndexViewクラスを記述
    myapp/lunchmap/views.py
    • class IndexView(generic.ListView):
  • テンプレートを作る
    myapp/lunchmap/templates/lunchmap/shop_list.html

#06:共通テンプレートにBootstrapを導入しよう

  • 共通テンプレートbase.htmlを作成する
    myapp/lunchmap/templates/lunchmap/base.html
  • お店一覧テンプレートを修正する
    myapp/lunchmap/templates/lunchmap/shop_list.html

#07:お店の詳細ページを作ろう

  • lunchmapのurls.pyに追記する
    myapp/lunchmap/urls.py
  • views.pyにDetailViewクラスを記述
    myapp/lunchmap/views.py
    • class DetailView(generic.DetailView):
  • 詳細ページのテンプレートを作る
    myapp/lunchmap/templates/lunchmap/shop_detail.html
  • お店一覧ページをテーブルにして、詳細ページにリンクする
    myapp/lunchmap/templates/lunchmap/shop_list.html

#08:新規と編集のフォームを作ろう

  • lunchmapのurls.pyに追記する
    myapp/lunchmap/urls.py
  • views.pyにCreateViewを記述
    myapp/lunchmap/views.py
    • class CreateView(generic.edit.CreateView):
    • class UpdateView(generic.edit.UpdateView):
  • テンプレートとしてshop_form.htmlを作る
    myapp/lunchmap/templates/lunchmap/shop_form.html

#09:投稿フォームの保存機能を作ろう

  • 一覧ページから、新規ページにリンク
    myapp/lunchmap/templates/lunchmap/shop_list.html
  • 詳細ページから、更新ページにリンク
    myapp/lunchmap/templates/lunchmap/shop_detail.html
  • 更新できるように、models.pyを修正
    myapp/lunchmap/models.py
  • reverse関数
    reverse関数は、ビューの名前から、リダイレクト先のURLを調べる関数。このおかげで、モデルやビューの中でルートを直接記述しなくても済む。

#10:削除ページを作ろう

  • lunchmapのurls.pyに追記する
    myapp/lunchmap/urls.py
  • views.pyにDeleteViewクラスを記述
    myapp/lunchmap/views.py
    • class DeleteView(generic.edit.DeleteView):
      reverse_lazy関数を使う
  • テンプレートとしてshop_confirm_delete.htmlを作る
    myapp/lunchmap/templates/lunchmap/shop_confirm_delete.html
  • 詳細ページから、削除ページにリンク
    myapp/lunchmap/templates/lunchmap/shop_detail.html

#11:Googleマップを表示しよう


認定証

このレッスンでは、チャプター10を終えたところで、認定証が授与される。
チャプター11のGoogleマップの表示はおまけってことなんだな。


学習ステータス





最新の画像もっと見る

コメントを投稿