Django学習

動かして学ぶ!Python Django開発入門を写経した

『動かして学ぶ!Python Django開発入門 』

プログラミング初心者で、Pythonの勉強をしています。
Djangoは初めてではなく、3冊目です。

1冊目 現場で使えるDjangoの教科書

2冊目 Python Django超入門

3冊目 動かして学ぶ!Python Django開発入門

目次ごとの学習概要

 

1.開発環境とdjangoの概要

目次1. WEBアプリを開発する前に
目次2.WEBアプリを開発するには
⇒初見でもわかりやすく、WEBの仕組みについて説明されている。よくどの本にでもある最初の説明的な感じ。そこまでボリュームもないし、わかる人は飛ばしてもいいかな?くらい。私はわからないのでちゃんと読んだ。

目次3.Djangoの概説
⇒フレームワークの概要と、それぞれの機能ごとに説明されており、非常にわかりやすい。よく使う、クラス名、関数名、タグ名などが表になっており、それぞれについて説明されているため、イメージしやすい。慣習ではこのクラスをメインで使う。他のやり方もあるけど、こっちのやり方の方がいいよ。的なことも書いてあるのでわかりやすい。
ちなみにわからなかった言葉
・ルーティング
・コンポーネント
・ウィジェット
・バリデータ
・バリデーション
・パフォーマンスチューニング
・オーバーライド
・リレーション
・コンストラクタ
・自動エスケープ

目次4.WEBアプリ開発前の準備
⇒Pythonのインストールから仮想環境の設定、エディタ、git、bootstrap、データベースなど初期設定やインストール手順が書いてある。

目次5.単一ページのDjangoアプリケーションを作成する
⇒djangoを使ってhello worldを表示するところまで。

目次6.バージョン管理システムを構築する
⇒※souce treeが重すぎて機能しなかった。
立ち上げたらすぐに応答なしになるため、一旦放置。

実際のページ作成

目次7.トップページを作りこむ
⇒ここからは実際に作っていく。
base.htmlとindex.htmlを作ったがうまく表示されない。

1回目

2回目

3回目

4回目

5回目

 

写経していたが、ミスっていたところ一覧

settings.py

STATICFILES_DIRS =(
    os.path.join(BASE_DIR, 'static'),
)
スペルミス
間違い STTAIC ⇒ 正解 STATIC
# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
  スペルミス appとapps
   間違い 'diary.app.DiaryConfig', 
⇒ 正解 'diary.apps.DiaryConfig'
]

 

base.html

vender ⇒ vendor
fonts.googleapos  ⇒ fonts.googleapis

単純にスペルミス。

index.html

スペルミス
{% block heder %} ⇒ {% block header %}

拡張子入れ忘れ
src='{% static "img/01jpg" %}' ⇒ src='{% static "img/01.jpg" %}'

ファイルの拡張子の前にドットの入れ忘れ

目次8.問い合わせページのフォーム画面を作る
⇒ここも写経した。表示するだけで実際にフォームを送信することは出来ない。
ちなみに、エラーが出たところメモ。
・veiws.py
from .forms を from .froms にしていた。(フロム、フロムになっていた。)
クラス名をスペルミス。二文字目も大文字にしていた。

・css
クラス名の前にドットをつけ忘れていた。

目次9.フォーム機能を作り上げるメール送信
⇒ここも写経した。実際にフォームの送信ボタンを押したら、コマンドプロンプトにフォームに入力した内容が表示されるという設定をする。という内容だったが、何度やっても表示されないし、見直しても意味がわからなかった。普通に動いているし、表示もおかしくないし、エラーも出ていない。セッティングの方でも
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'と記入している。小一時間悩んだ結果、本書のコードをURLからダウンロードしてきて検証してみた。
びっくりしたことに、views.pyを作った時、インデントを間違っていた。
クラスの外に出てしまっていて、うまく機能していなかった。これもまたスペルミスに続く。凡ミス。いい勉強になる。

 

目次10.djangoに認証機能を追加する
⇒認証機能はさっと終わった。これはそのまま別のモノを作るとき、応用できると思った。

目次11.会員用機能をつくるデータベースとの連携
→未

目次12.Djangoとクラウドを連携して本番運用を行う
→ 未

目次13.独自ドメイン化とセキュリティー対策
→ 未