この投稿の目的
日記みたいなものです。
新型コロナウイルス対応として「自宅待機」中。時間の有効活用のためちょっとずつお勉強中です。
先週1週間は「自宅待機」は無く通常出勤だったので、その間全く進みはありません(帰宅後やれよって話ですが)。
せっかくDjangoガールズのチュートリアルを終えましたが、1週間もたつともうさっぱりです。
ということで、前回までの復習がてら、Djangoガールズのチュートリアルをもう1周します。
といっても、もともと反復してやろうと思っていました。
合うとか合わないとか、わかりやすいとかそうでないとか、それすらわからない状態のときは、とにかく何度もやるしかないのです。
Djangoガールズ3日目・やったこととわかったことなど
やったこと
- Djangoガールズチュートリアルを最初から最後まで(とはいえインストールとかないので楽。またコマンドラインの説明やfor文とは?みたいなものは省略。
- 仮想環境の再構築から中身の作り込みまで
- 大体4~5時間くらい。
ちょっと理解がすすんだこと
- インターネットの仕組みの中で、このチュートリアルが何をしようとしているか(前回は、サーバを立ててWEBサイトの中身をぶちこんでいるという当たり前のことがあやふやなまま進んでしまった)
- リストとディクショナリの違い(配列とキー付き配列)
- ディクショナリの中にリストも持てる
- 仮想環境はプロジェクト単位(べんり)
- 仮想環境の設定~プロジェクトの作成
- オブジェクト=プロパティとメソッド
- モデルの名称は大文字
- URLとViewとTemplateは3点セット
仮想環境の設定~プロジェクトの作成
プロジェクト単位で必要なことなので、これは今後何回も使うことになる(はず)。ので、手順を覚えておく。
- 仮想環境のディレクトリをつくる
・コマンドプロンプト : mkdir hoge - 仮想環境構築
・cd hoge
・python -m venv huga - 仮想環境起動
・huga\Scripts\activate
(Scriptsフォルダのactivateファイルを実行) - Djangoインストール
・hoge直下に「requirements.txt」作成
・中身はDjangoのバージョン「Django~=2.2.4」1行記載
・コマンドプロンプト:pip install -r requirements.txt
(pip(DjangoのDLソフト)実行) - プロジェクト作成
・django-admin startproject mogu .
(huge/manage.pyとか、mogu/urls.py, settings.pyとかができる) - settings.pyで設定変更
・LANGUAGE_CODE = 'ja'
・TIME_ZONE = 'Asia/Tokyo'
・末尾のSTATIC_URL = '/static/' の下に以下追記
→ STATIC_ROOT = os.path.join(BASE_DIR, 'static')
・ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']
※ ホストによって異なる - データベースセットアップ
・コマンドプロンプト:python manage.py migrate
※ デフォルトはSQLite3(settings.pyに記載あり) - サーバ起動
・python manage.py runserver
→ http://127.0.0.1:8000/
⇒3.と8.は初回以外も毎回必要。
やっぱりわかってないこと
- なんで「python manage.py startapp blog」でblogフォルダの下にたくさんモノができるのか?(中のファイルをひとつづつ見ると、コードはシンプル⇔from django.XXX⇒なんか取得してる?/Settingsの中でinstalled_appsを列挙していることと関係?これがDjangoの機能?ほかにはどんなものがある?)
- urlpatternの中の意味(チュートリアルで、「ここでinclude関数を使いたいので、」とか言われても。こっちは使いたいと思ってないんじゃ!)
- path('', include('blog.urls')で、なんでblog.urlsに全部リダイレクトするのか。blog.urlsとはそもそも何か(blogフォルダのurls.py?)
- path('', views.post_list, name='post_list')で、「見てのとおり、post_list という名前のビュー をルートURLに割り当てています」って…見てもわからないよ!…あっでもここまで言語化してみたらわかってきたかも…すごい…
- render(request, 'blog/post_list.html', {})の、1個目と3個目の引数なに
チュートリアル(2回目)を終えて
まだわからないことは多いですが、全体的な流れと、どのファイルが何をやっているのかということが、ちょっとだけ掴めた気がします。少しだけ次に進んでも大丈夫な予感。
CSSの装飾なんてものは後回しで、とりあえず動くものをつくりたい。
<次の一歩>
素人Python日記⑤ ~参考書を手に取ってみる
<牛歩的経緯:自宅環境構築>
自宅待機を有効活用する① ~思い立ちからゴール設定まで
自宅待機を有効活用する② ~LET'S NOTE CF-W8のHDDをSSD換装する話
自宅待機を有効活用する③ ~2020年、ようやくXPをWin10に
<牛歩的経緯:Djangoと仲良くなる>
素人python日記① ~Django導入までの思考回路
素人Python日記② ~Djangoガールズのチュートリアルをやる(初日)
素人Python日記③ ~Djangoガールズのチュートリアルをやる(2日目)