ご質問・お見積り等お気軽にご相談ください
お問い合わせ

pythonのWebフレームワーク、Djangoにチャレンジ!–その1:環境構築–

pythonのWebフレームワーク、Djangoにチャレンジ!–その1:環境構築–

2023年11月28日追記:アイキャッチ画像と見出し「前提条件」の内容を少し修正しました。

2023年12月23日追記:ディレクトリの表示方法を修正しました。

この度は、株式会社ウェブネーションをご訪問頂き、誠にありがとうございます。

今回は、巷で人気のプログラミング言語python、その中のWebフレームワーク、djangoを使ってWeb開発にチャレンジしてみましたので、その手順の一部を紹介いたします。

しかしながら、内容の規模が少々大きく見込まれるため、いくつかパートに分けて紹介いたします。今回は環境構築です。

最後までお読みいただけますと幸いです。

前提条件

  1. Windowsではコマンドプロンプトが、Macではターミナルが起動できていること
  2. 下記の言語/ツールがインストールされていること
    • 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のマイグレーションについて紹介いたします。

今回はここまでとさせていただきます。

最後までお読みいただき、誠にありがとうございます。

参考リンク

  1. Why Django?(2023年11月16日閲覧)
  2. Django最新バージョン4.2(LTS)がリリースされました(2023年11月16日閲覧)
  3. Django & Postgres with Docker Best Practices(2023年11月16日閲覧)
  4. PipenvでDjango開発環境をつくる(2023年11月16日閲覧)

この記事を書いた人
通りすがりのエンジニアB
通りすがりのエンジニアB(匿名)です。