Introduction to Django ... ? lesson.1

 Djangoってなんだ?
 本家から引用するならば

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.”

 ということです。
 DjangoはハイレベルなPythonによるWeb frameworkでなんですけど……、
 とってもrapidで、cleanで、実用的なデザインを持っていますよ!
 ってな感じです。

 じゃ、どこがrapidで、cleanで、pragmaticなんでしょう?
 ではその1!

  • It provides a method of mapping requested URLs to code that handles requests.
    • MethodがURLに割り当てられます。ってことです。
    • /movies/upload/や、/photos/upload/や、/users/hoge/、または/movies/2/といったURLを書くと適切な引数とリクエストを伴ってMethodに渡される(渡すことができる!)ってことです。
  • It makes it easy to display, validate and redisplay HTML forms.
    • HTML formsってパラメータを受け取るのに一般的な手法ですよね。これが簡単に扱えますよ! ってことです。
    • 簡単に表示できるし、バリデートもできるし、再表示もできる! formの要素を一つ一つ<input type="xxxx">なんて書く退屈なコードとはおさらばだよ! ってことです。
  • It converts user-submitted input into data structures that can be manipulated conveniently.
    • HTML formが渡してくるユーザーが入力したデータ=データ構造体、これを簡単に扱えますよ! ってことです。
    • プログラミング言語のネイティブなデータ型に変換してくれるんですよ! ってことです。
  • It helps separate content from presentation via a template system.
    • 優れたテンプレートシステムはコンテンツをデザインなんかときちんと分離してくれますよ! ってことです。
    • デザインを変えずにシステムの中身を変えたり、システムの中身を変えずに自由なデザインができます! ってことです。
  • It conveniently integrates with storage layers.
    • データベース? なにそれ? 食えるの?
    • そんなあなたでも大丈夫! データベースを意識しなくても大丈夫です!
  • It lets you work more productively, at a higher level of abstraction,
    • 高いレベルの抽象化は生産性を高めます……なんて感じですが、とにかく楽しく楽に早くコードを書けますよ、ってことです。
    • HTTPだからどうだこうだ、っていう低い意識は必要ありません!!
  • It gets out of your way.
    • 語尾に.doとか.phpとか、.aspxとかつくのはださいですよね!
    • Djangoはそんな制限は一切ありません! 自由に楽しく綺麗なあなたのURLがサイトを彩るでしょう!

 とにかく僕が言いたいのは「楽しい」ってことです。
 美しく、簡潔で、強力なPythonでかかれているってことも楽しさの一つといえます。
 あなたがPythonを使いこなせないとしてもDjangoを始めるのは簡単です!

 あなたも今日からDjango