Djangoとは
FlaskはWEBアプリ製作のマイクロ・フレームワークと呼ばれるのに対して、Djangoはフルスタック・フレームワークと呼ばれます。Instagramも採用していることで有名です。フルスタックと言われるだけあって、WEBアプリを制作する上で必要となるおおよそすべての機能を含んでいます。IoT実験の一部としてWEBアプリを制作するならFlaskで十分ですが、より複雑な機能を実装するにはDjangoを採用したほうが良いかもしれません。
チュートリアル
Djangoの基本を勉強したいなら公式チュートリアルの Polls(投票アプリ)をやってみることをオススメします。

どんなものを作るのかイメージを掴むために、まずは当サイトで実装したものを触ってみてください。次のリンクでは登録された質問がいくつか表示されます。それぞれの「質問」のリンクをクリックすると投票の画面に遷移します。
https://learn.ee3.jp/demo/polls/ ※サーバーを移設したためこのデモは現在動作しません。
Djangoはアプリの管理画面も備えています。次のリンクで管理画面が表示されます。新たな質問や投票項目を追加・変更できます。ユーザーの管理機能もあります。ID: admin、Password: 12345 でログインできます。
https://learn.ee3.jp/demo/admin/ ※サーバーを移設したためこのデモは現在動作しません。
チュートリアルそのものは公式ページで進めてください。当ページでは冒頭の部分についてだけ説明します。
なお、公式チュートリアル以外に有名なものとして Django Girls を紹介しておきます。いろいろな記事で引用されることも多いですので余裕があればやってみてください。
Djangoのインストール
公式ページの通りに進めれば問題ないのですが作業環境について補足します。
DjangoはLAMP系のサーバーにデプロイすることが多いと思いますので、チュートリアルもそれに類似した開発環境を使うのが良いでしょう。Macならターミナルを、WindowsならWSLを使うと良いです。公式チュートリアルでは次のページでDjangoのインストール方法を説明していますが、Djangoを動作させる仮想環境については言及がありません。

Djangoに限らずPythonを使った開発プロジェクトでは仮想環境を作ってその中で作業するのが定番です。方法はいくつかありますが、virtualenvを使った手順を紹介しておきます。
まず作業用のディレクトリを作って(ここでは “project” という名前にしました)そこに移動します。
1 2 |
$ mkdir project $ cd project |
virtualenv を使ってDjango用の Python 環境を作ります。環境名を “django” としました。環境に入るとプロンプトの前に (django) と表示されます。筆者の環境ではPythonは 3.9 でした。
1 2 3 4 |
$ virtualenv django $ source django/bin/activate (django) $ python3 -V Python 3.9.10 |
Djangoのライブラリをインストールして、そのバージョンを確認してください。筆者の環境では Django 4.0.3 がインストールされました。
1 2 |
(django) $ pip3 install django (django) $ python3 -m django --version |
はじめての Django アプリ作成
続いてチュートリアルの内容に進んでいきます。最初のページは次のリンクです。

プロジェクトを作る
Djangoのコマンドを使ってプロジェクトを作ります。プロジェクト名はチュートリアルに倣ってmysiteとしました。
1 |
(django) $ django-admin startproject mysite |
ディレクトリ構成はこのようになります。mysiteというディレクトリが二階層できるので注意してください。
1 2 3 4 5 6 7 8 9 10 |
project ← 作業ディレクトリ(いまここ) +-- django ← virtualenvが作ったディレクトリ +-- mysite ← 上のコマンドで作成されたディレクトリ +-- manage.py +-- mysite +-- __init__.py +-- asgi.py +-- settings.py +-- urls.py +-- wsgi.py |
作ったプロジェクト mysite のディレクトリ(manage.pyがあるディレクトリ)に降りて、Djangoが動作していることを確認します。
1 2 |
(django) $ cd mysite (django) $ python3 manage.py runserver |
ブラウザで http://localhost:8000 にアクセスすると次のような画面が表示されます。
この後の手順の説明は公式ページに譲ります。
コメント