LoginSignup
2285
2613

More than 3 years have passed since last update.

Python Django入門 (1)

Last updated at Posted at 2014-07-26

django-logo-negative.png

はじめに

なぜPythonを選ぶか

かなり独断と偏見が入っていますが、

  • シンプルな言語セット
    • 某言語のように、呪文のように短く書けることが命ではない。
      • それでいて、書くコード量は少なく、すっきりしている。
    • 某言語のように、記号を多用しない。
      • コードを書いている間Shiftキーを押しっぱなしにならない。
  • 学習コストが低い。
    • 言語セットとしての文法は、わりと平易で、直感で理解できる。
    • 難しい書き方は、後から覚えればよい。
      • 文法書を読むのは、後からでいいでしょう。まずこの講座をやってみましょう。
    • Djangoフレームワークや、各種Pythonパッケージのソースを読んでも、
      • 言語仕様を駆使した難しい書き回しは少ない。
      • メンテナーでなくても意外と読める。

なぜDjangoを選ぶか

  • Pythonで作られたフルスタック・フレームワークであるということ。

    • 必要なものはすべて揃っている。
    • テンプレートはあれを持ってきて、DBアクセスはあれを持ってきて、ということがない。
    • もちろん、拡張するモジュールはあるが、基本はDjangoだけで完結する。
  • ORM - Object Relational Mapping オブジェクト関係マッピング が優れている。

    • DBアクセスのためにSQLを1行も書かないこともできる。
  • 管理サイトが素晴らしい。

    • Djangoにはscaffoldはないが、管理サイトが秀逸(詳しくは講座の中で解説します)
    • 管理サイトだけで、データ投入、データ検証ができる。
    • 特にプロトタイプを作る局面で、生産コストが下がる。
  • 学習コストが低い

    • 生の HTML、Javascript、CSSが基本だったりするが、最初に選ぶWebフレームワークとしてはシンプル。

この講座について

この講座は、GeekLab.NAGANO 主催の「Django入門」講座用教材として書き起こしました。

講座の概略

「モバイル・ファースト」の時代ですが、スマートフォン・アプリケーションのバックエンド開発をDjangoで作れる人材を育てたいと願っています。

講座の流れは、以下のようになります。

  • Python、Djangoの開発環境構築
  • Djangoで親子関係のあるDBモデルを定義する。
  • DBモデルを管理サイトで保守する。
  • DjangoのCRUDを書いてみる。
  • Bootstrapを使う。
  • スマホバックエンドを作る。(JSONを返すAPIを作る)

学習対象者

  • JavaもしくはPHPは、やったことがあるんだけど、というPython以外の開発経験がある方を想定しています。
  • 一部、UNIX的な知識が必要になるかもしれません。その場合まわりの誰かに助けを求めて下さい。

サンプルコード

サンプルコードは、以下にあります。
講座の中ではコピペで構わないので、必要に応じて活用して下さい。

https://github.com/kakky/mybook30

使用マシン

本編はMacを前提にお話します。

  • Mac OS Xは、MacのGUIを被ったUNIXマシンです。
  • コマンドプロンプトではなく、ターミナルは本当にUNIXターミナルです。
  • 素の状態で、各種UNIXコマンドが使えます。
  • UNIXソースコードが、そのままコンパイルできるので、UNIXのツールがそのまま動き、Web開発の親和性が高い。

Web系の開発では、Macをお薦めします。

とは言え、Windowsを使っている方も多いと思うので、環境構築の部分はWindows、Macのそれぞれを説明いたします。

それでは、

のどちらかに進んで下さい。

【更新履歴 3.0】
* Django 3.0 + JQuery 3.x + Bootstrap4 で書き直しました。
* PyCharm の UI が結構変わっているので、スクショを貼り直しました。
* IDE として eclipse の説明は削除しました。
* まだ Python などのインストール時のスクショが古いままですが、お許し下さい。

【更新履歴 2.0】
* Django 2.0 + JQuery 3.x + Bootstrap4 で書き直しました。
* まだ Python や PyCharm のインストール時のスクショが古いままですが、お許し下さい。

【更新履歴 1.9】
* Django 1.7 -> Django 1.9
* eclipse -> PyCharm
で書き直しました。

2285
2613
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2285
2613