Djangoの優位性について

Django for Beginnerという良い本でdjangoを学んでみたら、Railsをより優れている面が色々と見えてきました。

· 1 min read
Djangoの優位性について

Djangoはログイン機能が最初から実装されており、簡単にサインアップやログインページを実装できます。それだけでなく、CURDの各フォームに対応するテンプレートクラスが用意されていて、例えば全ての記事を表示するにはListViewを継承したクラスをviewファイルに作ってやって、モデル名をViewに書くと、for article in article_listというHTML内のpythonコードで記事を順番に並べて表示出来ます。EditやDeleteも必要なViewにモデルにテンプレートを結びつけるだけです。ついでにURLにログインしていないユーザーがアクセスしないようにするにはLoginRequiredMixinクラスを継承でミックスインするだけでログインページにユーザーを飛ばすことが出来ます。UserPassesTestMixinクラスをミックスインしてやると、記事の執筆者じゃないユーザーを記事の編集ページに繋がらないようにしてくれます。formを作るのもbootstrapのクラス表記がついたフォームを入れるライブラリを読み込んで、{{form|crispy}}のようにformタグの内側に書くだけで終了です。Railsと全然違って、普通よく使う機能は全部djangoが面倒をみてくれて正しくその原則通りにコーディングしてやれば、面倒なことは大概やってくれるのが素晴らしいです。Django for Beginnersを読んだらDjango for APIかDjango for Professionalも読んでみます。Railsで散々苦戦した後なのでDjangoのこの大概のデベロッパーが他のフレームワークで実装に時間がかかることは全てフレームワークの側で面倒みます感すごいです。これはRailsと同レベルに流行らないとおかしいフレームワークです。でも、まだbiginners本なのでprofessional本になるともっと難しい実装も出てくるかもしれませんね。