Webフレームワークで人気のDjango
Python は様々な分野で利用されていますが、numpyの登場からデータサイエンスで活用される以前から、Web系のプログラム言語として発展をおこなってきました。
以前はWeb系の言語といえばPHP、Java、ASP.NET、Ruby on Railsも多かった印象ですが、今ではPythonかJavaScript(Node.js)の台頭がすごいですよね。
私も前職からJavaScriptのプログラムを書いていて、Node.js (NodeJSとも)はよく使っています。こちらのようにNode.jsの記事もいくつか書いていますが、Webアプリと言えば、NodeJSのExpressというフレームワークを使うのが多いです。簡単ですし、一度作ればコピペで他のアプリにも流用ができますので。
とはいえ、顧客都合でPythonならコードをメンテできるチームがある、とのことだとPythonのWebフレームワークを使ったほうが良さそう。そこで人気でネットでも書籍でも情報が出回っているDjango (ジャンゴ)を初挑戦してみることにしました。
Windows でのDjango のインストール
まずはWindows 10、Python 3.9.9 の環境でDjango を入れていきます。Anaconda などは使いません。
インストールは公式ドキュメントのとおり行きましょう。
【Django】公式インストールガイド
pip コマンドでインストールします。
なお、Windows だとpython.exe のコマンドの代わりにpy だけで行けます。
コマンドプロンプトで以下を実行します。
py -m pip install Django
Code language: DOS .bat (dos)
実行結果
Collecting Django
Downloading Django-4.0.6-py3-none-any.whl (8.0 MB)
---------------------------------------- 8.0/8.0 MB 12.0 MB/s eta 0:00:00
Collecting tzdata
Downloading tzdata-2022.1-py2.py3-none-any.whl (339 kB)
---------------------------------------- 339.5/339.5 kB 10.6 MB/s eta 0:00:00
Collecting asgiref<4,>=3.4.1
Downloading asgiref-3.5.2-py3-none-any.whl (22 kB)
Collecting sqlparse>=0.2.2
Downloading sqlparse-0.4.2-py3-none-any.whl (42 kB)
---------------------------------------- 42.3/42.3 kB 2.1 MB/s eta 0:00:00
Installing collected packages: tzdata, sqlparse, asgiref, Django
Successfully installed Django-4.0.6 asgiref-3.5.2 sqlparse-0.4.2 tzdata-2022.1
Code language: plaintext (plaintext)
無事にインストールできたようです。Django のバージョンを確認してみましょう。
コマンドプロンプトで以下を実行します。
py -m django --version
Code language: DOS .bat (dos)
実行すると「4.0.6 」が返ってきました。インストールは大丈夫そうです。
新しいプロジェクトの作成
続いてDjango のプロジェクトを作成します。ここではC:\Work\Python のフォルダーの下に「mywebsite」という名前のDjango プロジェクトを作成すると仮定します。
cd C:\Work\Python
django-admin startproject mywebsite
Code language: Django (django)
これによりDjango がフォルダーを一式作ってくれます。引き続きコマンドプロンプトから確認してみましょう。
dir /s /b mywebsite
Code language: DOS .bat (dos)
実行結果
C:\Work\Python\mywebsite\manage.py
C:\Work\Python\mywebsite\mywebsite
C:\Work\Python\mywebsite\mywebsite\asgi.py
C:\Work\Python\mywebsite\mywebsite\settings.py
C:\Work\Python\mywebsite\mywebsite\urls.py
C:\Work\Python\mywebsite\mywebsite\wsgi.py
C:\Work\Python\mywebsite\mywebsite\__init__.py
Code language: plaintext (plaintext)
ここで、tree コマンドもツリー構造で表示できるのでオススメです。
tree /F
Code language: DOS .bat (dos)
実行結果
シリアル番号は隠しています。
フォルダー パスの一覧: ボリューム Windows
ボリューム シリアル番号は xxxx-xxxx です
C:.
│ manage.py
│
└─mywebsite
│ asgi.py
│ settings.py
│ urls.py
│ wsgi.py
│ __init__.py
Code language: plaintext (plaintext)
Webサーバーの実行
続いてWeb サーバーを起動してみます。mywebsite フォルダーに移動してから「manage.py runserver 」を実行します。
これもコマンドプロンプトから実行します。
cd mywebsite
py manage.py runserver
Code language: Django (django)
実行結果
色々と警告は出てきましたが、とりあえずは起動できたようです。ハイライトした行にあるように、Django はデフォルトでHTTP のポート8000番を使用してLISTEN します。
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 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 25, 2022 - 11:14:07
Django version 4.0.6, using settings 'mywebsite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
Code language: plaintext (plaintext)
Web ブラウザを開いて、アドレスバーに「http://localhost:8000」を入力してエンターキーを押します。
すると、Django のテンプレートのページが表示されます。これでDjango のインストールとセットアップはまずはOK です。
ここまではNodeJSのExpressと難易度は同じぐらいだと感じました。この後に結構大変だなぁと感じたのですが、次回以降でWeb ページのカスタマイズをおこなっていきましょう。
ではでは。
No responses yet