やってみて
・実務と言ってもスーパープログラマー的に何もかもできるのはなく、実務の一角に切り込もうという作戦である。
・次はまとめに入るPull編です。
・DjangoGirlsを元に自作してみる。
→ HTML・CSS・JavaScript(JQuery)に対して何らかの答えを出します。
→ Gitにあげます。
・今回作ったチュートリアルは現実的なDBにつなげ、かつデータも
きちんと揃えたいと思う。(SQLで考えています。)
・画像は少なくとももう少し考えます。
完了時点について
タイトルに改訂版をつけた時が完了です。
ステータス
突き進むPushです。
背景
モヤモヤ
・Django、公式のチュートリアルをやると言ってもRestもあるみたい。
・Djangoだけじゃないけど 画面ってめんどくさいんだよな。
・実務がきになる。
・Db postgreみたいにちゃんとしたものじゃないと問題外でしょう。
・公式のドキュメント読まないといけないの?
アクション
・やらないことを決める。→ DjangoRest
・しっかりしたものを作る。
・下記のチュートリアルをやって見る。
https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/skeleton_website
設計的な説明
-テーブル構成
https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Models
-ドキュメントをつどつど読むことを促しているので・・・それに従ってください。
-URL設計が書いていない。→ こちらで書きます。
-フォルダ構成 →下記のGitを参考にしてください。
https://github.com/mdn/django-locallibrary-tutorial
実務に関しては下記で満たすことにする
-テーブル構成がしっかりしている。
-ドキュメント読むことを促している。
-データの管理画面を作成
要件によっては管理画面だけでいいこともある。
-画面も作る予定
→ 登録・更新・削除
- postgreにつなげる← Django公式での奨励がpostgreなので一旦postgreのみとする。
- データ投入を工夫する(プログラム上・JSON・SQL)
- 画面めんどくさいっていうのはやりながら少しずつマスターしていく。※1
→テストやデバックも試していきたいと思います。
- Git
※1
BreakDown
Bootstrap ドットインストールや書籍で・・・
Form Pull編に書きました。
CSS Progateなどで・・・
JavaScript → 古いかもしれないけどjQueryの意 Progateや書籍で・・・
プログラム プログラム
データアクセス
Djangoについてハマりどころ
・プロジェクトとアプリを別々に作ること
locallibrary/ # Website folder
manage.py # Script to run Django tools for this project (created using django-admin)
locallibrary/ # Website/project folder (created using django-admin)
catalog/
・プロジェクト用のurl.pyとアプリ用のurl.pyが別々にあること。
クラスの役割
manage.py: Django プロジェクトに対する様々な操作を行うためのコマンドラインユーティリティ
locallibrary/__init__.py: このディレクトリが Python パッケージであることを Python に知らせるための空のファイル
locallibrary/settings.py: Django プロジェクトの設定ファイル
locallibrary/urls.py: Django プロジェクトの URL 宣言、いうなれば Django サイトにおける「目次」に相当
catalog/models.py: モデルは本質的には、データベースのレイアウトと、それに付随するメタデータ
catalog/url.py Django AppのUrl宣言
事前準備
環境準備
サーバー立ち上げまで
https://www.youtube.com/watch?v=A0Sna4SF5rc
DjangoでTODOリストを作ろう!
https://qiita.com/__init__/items/b8fd530f3b8603231b35
公式のチュートリアルも含めて一番わかりやすかったです。ToDoリスト作成しました。
やり方
Dockerは諦めました。
データベースは変えない方が良いかもしれないですね。
requirements.txtは使わなくてもいいと思います。
→サーバー立ち上げまでの範囲で大丈夫です。
以下参考コマンド
source env/bin/activate
python manage.py runserver
python manage.py createsuperuser
Username (leave blank to use 'XXXX'): admin
Email address: admin@goo.co.jp
Password:
Password (again):
Superuser created successfully.
manage.py startapp todo_app
python manage.py startapp todo_app
python manage.py makemigrations
python manage.py migrate
データ操作について
公式とDjangoGirlsのドキュメントをあげておきます。
https://tutorial.djangogirls.org/en/django_orm/
https://docs.djangoproject.com/ja/3.1/topics/
自作動画です。
https://www.youtube.com/watch?v=TNNKDru5zl0&t=8s
仕様
画面
管理画面
一覧画面
登録・更新・削除に関する画面
DBはpostgre/MySQL
現在の状況
画面
リスト
詳細部分
作者情報の登録・更新・削除画面