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 10、Python 3.9.9 の環境でDjango を入れていきます。Anaconda などは使いません。

インストールは公式ドキュメントのとおり行きましょう。

【Django】公式インストールガイド

pip コマンドでインストールします。

なお、Windows だとpython.exe のコマンドの代わりにpy だけで行けます。

コマンドプロンプトで以下を実行します。

py -m pip install DjangoCode 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 --versionCode 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 /FCode 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 です。

Djangoのチュートリアルのサンプルアプリ
Djangoのチュートリアルのサンプルアプリ

ここまではNodeJSのExpressと難易度は同じぐらいだと感じました。この後に結構大変だなぁと感じたのですが、次回以降でWeb ページのカスタマイズをおこなっていきましょう。

ではでは。

Categories:

No responses yet

コメントを残す

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