Python,Djangoを使ってWebアプリを開発する #1 -導入編-
Django(ジャンゴ)を使ってWebアプリを作ります。はじめに · Django Girls Tutorialに沿って進めていきます。
今回は「仮想環境にDjangoを導入し、ローカル環境でサーバを起動し、ブラウザにページを表示させる」ことが目標です。
Djangoとは
Pythonを利用したWebアプリケーションフレームワーク*1。無料で公開されている。
Djangoってなに? · Django Girls Tutorial
前提条件
- Pythonが扱える(*ver 3.3以上でvenvが使えます)
- Anacondaがインストールされている(なければAnaconda - python.jp参照) (仮想環境にvenvを使う場合はいらないです)
作業手順
1. 仮想環境の準備とDjangoのインストール
まずは作業するディレクトリを mkdir ディレクトリ名 コマンドで新たに作ります。作成したら、 cd コマンドで作成したディレクトリに移りましょう。以後、ここで作成したディレクトリで作業をしていきます。
$ mkdir myproject $ cd myproject
次に仮想環境を準備していきます。conda(Anaconda)もしくはvenvを使って仮想環境を整え、Djangoをインストールしましょう。
$ conda create -n py37
Collecting package metadata (current_repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /Users/XXX/anaconda3/envs/py37
...(省略)...
Proceed ([y]/n)? [Enter]
...(省略)...
# To activate this environment, use
# $ conda activate py37
# To deactivate an active environment, use
# $ conda deactivate
$
(*仮想環境から抜けるには、 conda deactivate を実行します。)$ source activate py37
(py37)$
(py37)$ conda install django
Collecting package metadata (current_repodata.json): done
Solving environment: done
...(省略)...
Proceed ([y]/n)? [Enter]
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(py37)$
インストールが完了したら、condaまたはvenvの仮想環境でDjangoが使えるようになります。
2. Djangoを使ってページを表示させる
仮想環境内でDjangoが使えるようになったので、プロジェクトを生成しましょう。
ターミナル上で仮想環境を起動し、 django-admin startproject プロジェクト名 . を実行することで、プロジェクトのファイルが作成されます。カレントディレクトリを確認すると、manage.pyとプロジェクト名のディレクトリが作成されていることが確認できます。
(py37)$ django-admin startproject mywebapp . (py37)$ ls manage.py mywebapp (py37)$
myproject ├─ manage.py └─ mywebapp ├─ __init__.py ├─ asgi.py ├─ settings.py ├─ urls.py └─ wsgi.py
続いてターミナル上で、 python manage.py runserver を実行すると、サーバが起動されます。
(py37)$ python manage.py runserver Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. July 03, 2020 - 09:20:38 Django version 3.0.3, using settings 'mywebapp.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
ターミナルに表示されているURL(http://127.0.0.1:8000/)にブラウザでアクセスします。
サーバを正常に起動できていると、上の画像のようにDjangoで用意されたWebページが表示されます。今回はこれで目標達成です。
ターミナルで動いているサーバは、[control]+[c]を入力することで停止できます。
まとめ
今回はWebアプリケーションフレームワークであるDjangoを使って、ブラウザにページを表示させました。以下に使用したコマンドをまとめておきます。
概要 | コマンド |
---|---|
仮想環境の作成 | conda create -n [envname] python=[version] |
仮想環境の一覧 | conda info -e |
仮想環境の起動 | source activate [envname] |
仮想環境の停止 | conda deactivate |
パッケージ追加 | conda install [package] |
プロジェクト作成 | django-admin startproject [projectname] |
サーバ起動 | python manage.py runserver |
次回は、アプリケーションの設定や自作ページの表示方法を説明しようと思います。
おもしろいWebアプリが作れるといいですね :)
*1:Webアプリの土台となり、開発の手助けをしてくれる便利なツール