PythonでWebサービスを作る際にいくつかのフレームワークがあるようですが、DjangoがGoogleの検索数などでも一番メジャーのようです。
Pythonというプログラミング言語自体は好きだけど、フレームワークについて日本語の情報が少ないというのは、Pythonをやる人には共通の悩みだと思います。Amazonで本を探しても日本語の本がないんですよね、ちっとも。。PHPの本が他を圧倒していて、次にJava、その次がRubyで、PythonのWebサービスの作り方に関する本は新しいものはほとんど見当たりません。あっても、ちょっとしか書いてないんですよね。
でも、朗報です。
DjangoのTutorialには日本語のページがありました。Tutorialの部分は7ページくらいしかないので、本にしたらその3−4倍の30ページ分くらいのボリュームでしょうか。あまり多くはありませんが、役に立つ情報が多く載っていました。
https://docs.djangoproject.com/ja/1.10/intro/tutorial01/
modelを作って、
データベースに接続して、
URLの書き方とルーティングを設定して、
コントローラの書き方と、
ビューのテンプレートの指定の仕方と、
フレームワークを使うのに必要なことは一通り載っています。CakePHPやASP.NET MVCなどには一通り揃っているHtmlヘルパーの記事が載っていませんでしたが、これは作りながら探していくしかないでしょう。きっとありますよ。海外ではこれだけメジャーな言語ですから。。。
それと他のWebサービスの得意な言語(RubyやPHP)では必ずある簡単なCRUDをするページを一発で作る機能もこのチュートリアルには書いていませんでした。もしかしたら、Djangoにはないのでしょうか?
Djangoでもそうですが、フレームワークを使うとデータベースに接続する処理が、モデルを処理するコードで処理するだけで自動的にできるようになるため非常に簡単です。
DjangoでもMVCの構造を採用していますが、特にいいと思ったのが、フレームワークの設計上でモデルを唯一のデータ操作の入り口にしていることです。これだと、あちこちからデータを操作するコードが入り込む余地がなくなるので、特にデータベースのデータ構造を変更する際に、モデルを変更してマイグレーとさえすれば良いので、バグが入りにくくデータの仕様変更に強そうです。