Django 〜 プロジェクト開始編〜

何の記事??

python の webアプリケーションフレームワークである Django を使ってプロジェクトを開始するところまで紹介します。


Django のインストール

まずは、Django が既に入っているかもしれないので確認しましょう。下記コマンドで確認ができます。

これでバージョンが出てくれば既に Django がインストールされているのでこの節は飛ばしてくださいね。

バージョンが出てこない方は下のコマンドを打ってくださいね。

以上でインストールは完了です!!


プロジェクトの作成

それではプロジェクトを作成してみましょう。
Django のコマンドを使うと、プロジェクトに必要な SQLite だったり view, RequestMapping だったりを作成してくれます。
Rails でいうところの rails new が一番イメージ近いかと思います。

hoge には作成したいプロジェクトの名前を入れてください。

さて、正常終了していれば hoge というフォルダができており、その配下に manage.py と hoge ができているかと思います。
manage.py はプロジェクトの管理・操作するための python プログラムです。自動的に生成され、基本的にはいじることのないファイルです。

そこまで確認ができればプロジェクトの作成は完了です!!


いざ実行!!!

それでは早速実行してみましょう。

おそらく下記のようなメッセージが表示されるかと思いますが、後ほど「マイグレーションの実行」で説明をしますので一旦気にしないでおいてください。

Django には開発用の Webサーバが含まれています。このサーバを使用してサービスを起動してみましょう。
manage.py のあるディレクトリに移動して、下記のコマンドを実行してみてください。

おそらくこんな出力があるかと思います。

それではブラウザから localhost:8080 にアクセスしてみましょう。
「It worked!!」と出ていたりタブタイトルが「Welcome to Django」になっていれば起動成功です!!

runserver の後の 8080 は Webサーバが通信に使用するポート番号です。

それではサービスを止めましょう。
止め方は、コンソール(ターミナル)で Ctrl + C です。
(ちなみに止めなくてもプログラムを変更すると再起動してくれるので止めなくても問題はありません)


自動生成されるファイル

それではここで簡単に django-admin startproject で自動作成されたファイルをいくつか紹介します。

まずは __init__.py です。
このファイルは、モジュールをインポートした時に実行されます。この仕組みを使うと、__init__.py が存在して入ればそのディレクトリはモジュールとして扱えるということです。
つまり今回プロジェクト自体が python のモジュールとして実現されているということですね。

次に settings.py です。
プロジェクトの設定ファイルです。名前のまんまですね。

url.py は、サイト内の URL マッピング設定を格納しています。

wsgi.py は、WSGI(Web Server Gateway Interface)を使ったデプロイを行うためのものです。


アプリケーションの作成

次に先ほど作成したプロジェクトにアプリケーションを作りましょう。

Django ではプロジェクトとアプリケーションは完全に独立しているということを頭に入れておいてください。
つまり、複数のアプリケーションをプロジェクト内に配置することも可能になっています。

それでは下記コマンドでアプリケーションを作成しましょう。

無事に終了しましたか?
指定したアプリの名前でディレクトリができているかと思います。


マイグレーションを実行

先ほど一旦飛ばしてくださいと言った

これですね。
解決していきます。

エラーにある通り migration(マイグレーション)が行われていないために吐かれています。

Django アプリは、初回の登録時とアプリが使用するモデルを変更した時に、マイグレーションと呼ばれる操作をしなければなりません。
マイグレーションは、モデルの内容を DB に反映する管理操作です。

それでは migration をしてみましょう。

こんな感じで正常終了すれば OK です!

さて先ほどから DB と言っていますが・・・DB なんて用意する説明なかったじゃないか!!とお思いの方、、、
Django では、サーバー不要の DB 管理システムである SQLite が含まれています。

プロジェクト生成後の設定ファイルでは SQLite を使用するように設定されています。
SQLite のデータは db.sqlite3 に格納されています。


Django の管理ユーザの作成

Django には admin というサイト管理機能が備わっています。
それでは早速ユーザを作成してみましょう。

ユーザ名やアドレス、パスワードが尋ねられるので会話するように回答してください。

 

素直に答えていけば問題なく作成されるはずです。

 

それではまたプロジェクトを起動したら http://localhost:8080/admin にアクセスすると管理画面に遷移ができます。


最後に

Django のプロジェクト開始部分まで見ていきました。
また機会があれば続きを書いていきたいと思います。

それではまた次回〜

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です