Djangoとは
Djangoとは、PythonでWebアプリを簡単に構築するためのフレームワークです。
指定のフォルダにプログラムを配置したり、指定のファイルに処理を記述することで、Webアプリを作ることができます。
もし0からWebアプリを作る場合、ページへのアクセスがあったときに処理を受け付けたりといった、Webアプリの基本的な機能から全部自分で作らないといけません。しかし、Djangoのようなフレームワークを使用することで、基本的な機能はすべて実装されている状態から開発をスタートすることができます。つまり、バックエンドの具体的な処理だけを開発すればよいので、非常に楽ができます。
Djangoのインストール
タスクバー(Windowsの画面下)の検索欄で、「cmd」と入力、「Enter」キーを押してコマンドプロンプトを開きます。
開いたら、コマンド上で以下のコマンドを入力し、「Enter」キーを押してDjangoをインストールします。
pip install Django
解説
Pythonには様々なパッケージが用意されています。パッケージは特定の機能をまとめたプログラム群のことで、導入することで開発において楽をすることができます。
Pythonにパッケージをインストールする場合、専用のパッケージ管理ツールである「pip」をよく使用します。「pip」はPythonの環境構築の際に勝手に使えるようになります。pipでパッケージをインストールしたいときはコマンド上で以下のように使います。
pip install <パッケージ名>
DjangoもPythonのパッケージの1つです。
Djangoを始める
プロジェクトの立ち上げ
Djangoのプロジェクトを立ち上げます。プロジェクトについては後述します。
まず、プロジェクトを立ち上げたい場所(フォルダの中)でコマンドを立ち上げます。任意の場所でコマンドを立ち上げる方法は、エクスプローラーを立ち上げた後、パスが表示される部分(画像の場合、「バックアップの開始>ドキュメント>」の部分)の空白の部分をクリックすると、入力できるようになります。
そこに「cmd」と入力し、「Enter」キーを押します。
以下のコマンドを実行してください。最後の「project」はプロジェクト名で、好きに付けることができます。
python -m django startproject project
実行後、projectフォルダが作成されたことが確認できます。
Djangoのサーバーを起動
Djangoを開発環境(PC内)でテスト動作させることができます。開発中に起動して動作確認するためのものですが、プロジェクトを新規立ち上げした直後にDjangoのサーバーを起動するとデモページが表示されるので、今回はそれを確認します。
サーバーの起動は「manage.py」というプロジェクト作成時に自動作成されたプログラムを指定する形で行います。「manae.py」があるprojectディレクトリ(階層)へコマンドの場所を移動します。
コマンドの場所は以下で変えることができます。
cd project
移動したら、サーバーを起動します。
python manage.py runserver
起動したらコマンドが実行中の状態(入力を受け付けない)になります。赤い文字は気にしないでください。
起動できたら、ブラウザから「http://127.0.0.1:8000」にアクセスします。
ロケットが表示されたら成功です。
余談ですが、ページにアクセスしたり、リロードしたときに実行中のコマンドを見ると、アクセスログが表示されていることが分かります。
サーバーの停止
実行中のコマンド上(実行中のコマンドプロンプトのウィンドウが選択されている状態)で「Ctrl」キー+「C」を押すことでサーバーが停止します。
すると以下のように入力が戻ってきます。
また、サーバーが停止した後はブラウザからページにアクセスできないことが確認できます。
アプリの立ち上げ
Djangoのアプリを立ち上げます。アプリについても後述します。
manage.pyと同じ階層のコマンドで以下を実行します。最後の「app」はプロジェクト名で、好きに付けることができます。
python manage.py startapp app
projectフォルダの中に「app」フォルダが作成されていることが確認できます。
Djangoの概念
Djangoにはプロジェクトフォルダとアプリフォルダの概念があります。
プロジェクトフォルダ
今回の場合、フォルダproject>projectの中が該当します。
ここではアプリ全体に適用される設定等を行います。開発中に使用する頻度はそこまで多くはありません。
いくつかファイルがありますが、使用するのはsettings.pyとurls.pyぐらいです。
settings.py・・・Djangoの設定ファイルです。言語やタイムゾーンの設定から、テンプレートファイルなどのフォルダのパスを指定したりします。
urls.py・・・ルーティング(どのURLにアクセスされた時にどのページを表示するか、といった対応付け)を行います。が、実際にはアプリフォルダ内にurls.pyを作成してルーティングすることが多いです。
アプリフォルダ
今回の場合、project>appの中が該当します。
Webアプリに必要な機能を実際に実装するのはここです。よく使うファイルはviews.py・models.py・urls.py(自動作成されない)です。
views.py・・・Webアプリの本体です。ページにアクセスするとurls.pyの記述をもとに、views.pyの中に書いた関数に処理が飛んできます。なので、色んな処理をここに記述します。
models.py・・・データベースの構造を定義します。
urls.py・・・ルーティングを行います。プロジェクトフォルダ側にもurls.pyがあるため混乱しやすいですが、こちらをメインで使用します。startappコマンドで自動作成されないため、アプリ立ち上げ後に手動でurls.pyを作成します。