pythonのWebフレームワーク、Djangoにチャレンジ!–その1:環境構築–
2023年11月28日追記:アイキャッチ画像と見出し「前提条件」の内容を少し修正しました。
2023年12月23日追記:ディレクトリの表示方法を修正しました。
この度は、株式会社ウェブネーションをご訪問頂き、誠にありがとうございます。
今回は、巷で人気のプログラミング言語python、その中のWebフレームワーク、djangoを使ってWeb開発にチャレンジしてみましたので、その手順の一部を紹介いたします。
しかしながら、内容の規模が少々大きく見込まれるため、いくつかパートに分けて紹介いたします。今回は環境構築です。
最後までお読みいただけますと幸いです。
前提条件
- Windowsではコマンドプロンプトが、Macではターミナルが起動できていること
- 下記の言語/ツールがインストールされていること
- python
- pip ← pythonのパッケージ管理ツール
Djangoとは
Djangoとは、pythonでWeb開発をできるようにするためのフレームワークの一つです。Instagramやpinterestなどの企業がこのフレームワークを使って開発しています。[1]
Djangoには、ハイスピードな開発、ユーザー認証や管理画面などの高度な機能、XSSなどのセキュリティ対策に向けたサポートがされているなど、優れた特徴を持っています。[1]
Djangoの環境構築
pipenvのインストール
pipenvを下記コマンドでインストールします。pipenvは仮想環境構築とパッケージ管理を両方とも行うことのできるツールです。
# 「pip3」と書かれていますが、端末次第では「pip」でないと動かない場合もあります。
pip3 install pipenv
インストールが確認できたら、下記コマンドを入力してバージョンを確認します。出力結果がコメントの通りでしたら成功です。
pipenv --version
# 出力結果:pipenv, version 2023.10.24
Djangoのインストール
Djangoをインストールします。
その前にディレクトリを作成し、このディレクトリをカレントディレクトリ(現在のディレクトリ)とします。
# 「boards」という名前のディレクトリを作成
mkdir boards
# 先ほど作成したディレクトリをカレントディレクトリとする
cd boards
次のコマンドで環境構築を行います。
pipenv install
この時点でディレクトリ構成は下記のようになると思います。
boards
├── Pipfile
└── Pipfile.lock
ここでDjangoをインストールします。
# djangoをインストール(2023年11月16日時点で最新バージョンは4.2です)[2]
pipenv install django~=4.2
インストールできたら、Pipfileを確認してみましょう。下記のような構成になると思います。
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
django = "~=4.2"
[dev-packages]
[requires]
python_version = "3.11"
プロジェクト/アプリケーション作成
下記コマンドでプロジェクトを作成します。
pipenv run django-admin startproject config .
この時点でディレクトリ構成は下記のようになると思います。
boards
├── Pipfile
├── Pipfile.lock
├── config
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
続いて、下記コマンドでディレクトリを更に作成し、その中でアプリケーションを作成します。
mkdir boards
cd boards
pipenv run django-admin startapp boards .
# このコマンドを入力して、下の「CommandError」が出力された場合、先ほど新しく作成されたディレクトリ(/boards/{作成したディレクトリ名})が、さらに上のディレクトリ(/boards)と一致されていない可能性が高いので、これらが一致するように修正した上で、もう一度上のコマンドを入力すること
CommandError: '{作成したディレクトリ名}' is not a valid app directory. Please make sure the directory is a valid identifier.
この時点でディレクトリ構成は下記のようになると思います。
boards
├── Pipfile
├── Pipfile.lock
├── boards
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── config
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
サーバーを起動
ここまで到達できたら、下記のコマンドを入力して実行し、サーバーを起動します。
このコマンドを実行した後、ブラウザを起動してそのURLに「localhost:8000」と入力し、下の画像が画面に表示できたら、一通りDjangoの環境構築は完了となります。
pipenv run python3 manage.py runserver
サーバーを停止したい場合は、「Control + C」で停止できます。
コマンドプロンプト/ターミナルにて、「Quit the server with ***」の「***」に出力されている箇所がサーバー停止コマンドになります 。
最後に
いかがでしたでしょうか?
pythonでのWeb開発において、pipのみで行う場合は、仮想環境構築ツールvirtualenvやsourceコマンドなどを用いて、環境構築やパッケージの管理を行う必要がありました。
ですがpipenvはこれらを全てこのコマンドひとつで処理してくれますので、大変便利なモジュールですね。
次回は、Djangoにおける、dockerを用いた環境構築やDBのマイグレーションについて紹介いたします。
今回はここまでとさせていただきます。
最後までお読みいただき、誠にありがとうございます。
参考リンク
- Why Django?(2023年11月16日閲覧)
- Django最新バージョン4.2(LTS)がリリースされました(2023年11月16日閲覧)
- Django & Postgres with Docker Best Practices(2023年11月16日閲覧)
- PipenvでDjango開発環境をつくる(2023年11月16日閲覧)