Djangoチュートリアルやってみた

はじめに

PythonフルスタックWebフレームワークであるDjangoのチュートリアルをドキュメントに沿って一通りやってみた。
Pythonで他に使った事のあるフレームワークではFlaskくらい。チュートリアルに毛が生えた程度のアプリケーションを作っただけ。
あと、昔CakePHPでなんか作ろうとしたことがあったけど何もかも忘れた。

メモ・感想

  • admin画面がとても便利だなあ。
  • 自分が認識しているMVCと違うのかな?と思ったら、ただ呼び方が違うだけ?
  • DjangoのModelsはORMなので、それとは別にトランザクションを行うというか、データの整合性を管理するレイヤが必要な気がした。
    • 要はViewsにはModelsを操作するコードをごちゃごちゃ書きたくないってこと。
    • トランザクションのやり方はチュートリアルでは出てこなかったので調べておきたい。
  • 静的ファイル(CSSとか)はDjangoで扱うべきではないのでフロントのnginxなどに置いて使おう。

ドキュメント、本家と和訳

現在の最新Verは1.3だけど和訳は1.0なので、ところどころ記述が古いと思われる個所があった。基本的に和訳を見つつ、本家でざっと内容が一致しているかなど確認しながら進めた。

本家と和訳で特に気になった違い

csrf_token

POSTを行う画面で、本家ではテンプレートに{% csrf_token %}というものを埋め込んでいた。これが無いとPOSTに失敗する。その名の通りCSRF対策みたい。

generic view

ここは本家と和訳でコードがかなり違っていた。やってることは実質同じなんだろか?