Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

Django + Nitros.io を使ってみる その3

Django + Nitros.io を使ってみる その3

さてダニエルなかぢさんの講座も最終章です。

必要なのはブラウザだけ。Python使ったWebサービス構築(処理を書いてみよう編) - 今日学んだこと

毎度使うコマンドメモ

workspaceへ移動

cd workspace

venvを起動

source venv/bin/activate

サーバの起動

python manage.py runserver 0.0.0.0:8080

HTMLテンプレートファイルのform要素をPOSTメソッドに変更

さて、チュートリアルを進めます。

まずはHTMLテンプレートファイルのform要素をPOSTメソッドに変更

f:id:hope_is_dream:20141113165031p:plain

ここでエラーがでるはず。

でた!

f:id:hope_is_dream:20141113165057j:plain

いやー、でると分かるエラーは気持ちがいいです。

そこで、form要素内に以下の構文を追加

{% csrf_token %}

そして、サーバーを再起動して確認

f:id:hope_is_dream:20141113163838j:plain

エラーーーー!!!

HTMLを確認してみると、先ほどの構文が追加されていない。。

(ここからは初心者のつぶやき。。)

実はDjangoを理解していないため、

先日からこのエラーが良く出る。

ファイルを変更して保存するだけでは、Djang自体で更新されないのか?

python manage.py migrate

このmigarateっていうのも気になってしかたない。 おまじないとして使っているのだが、これがなにか更新してくれているのかな??

???

分からないのでちょっと待ってみる。。。

(1分)

なにもしてないのにエラーがなくなった!

f:id:hope_is_dream:20141113163926j:plain

HTMLファイル内に先ほどの項目が追加されています。

f:id:hope_is_dream:20141113163940j:plain

時間をまてば更新されるってことは、nitrous.ioの方の更新待ちなのかな?

次回からは少し待つことにします。

さて、チュートリアルに戻ります。

入力フォームからリクエストを受け取る

views.pyに以下の構文を追加

f:id:hope_is_dream:20141113163611j:plain

if request.method = 'POST':
    print(request.REQUEST['niku'])

恐る恐る開くと

エラーー!

f:id:hope_is_dream:20141113163804p:plain

んーーーー

良く見ると。。。

if request.method = 'POST'

if文の条件分岐の構文でイコールが一つしかないじゃない=

正確には==こちら

if request.method == 'POST':
    print(request.REQUEST['niku'])

f:id:hope_is_dream:20141113164300j:plain

初心者ミスでした。

こう、なにがなんだかわからないことを、

チュートリアルを参考にしているときは、

自分の手順がミスなのか、このような構文ミスなのか分からなく

パニックになってしまいますね。。

さて気を取り直して

f:id:hope_is_dream:20141113164448j:plain

ふぃふぃを食べたいというと。

f:id:hope_is_dream:20141113164535j:plain

f:id:hope_is_dream:20141113164607p:plain

できましたー!

コンソールにふぃふぃと入力された文字が返ってきています。

さあ次はDBを作ります。

まとめ

記事を描きながら、ダニエルなかぢさんのチュートリアルをそのまま載せては全く意味がないと思いながら進めていたのですが、この記事を描きながら、僕のような初心者はエラーにはまってしまい断念してしまう人もいるかもしれないので、

僕はエラー共有版として進めていこうと思います。