【Ubuntu Server】Djangoのセットアップ方法(Python + 仮想環境 + 開発サーバー)

Django

Ubuntu ServerでWebアプリケーションを開発する場合、Django + PostgreSQLの構成は非常に人気があります。

本記事では、Ubuntu Serverに Django開発環境をセットアップする手順を解説します。

この記事でできること

  • Djangoのインストール
  • Python仮想環境の構築
  • Djangoプロジェクト作成
  • 開発サーバー起動

後続の記事
「Django + PostgreSQLでデータベースを運用する方法」にもつながる内容です。


動作環境

今回の環境

Ubuntu Server 24.04
Python 3.12
Django 5系

1 Ubuntuを最新状態にする

まずはパッケージを更新します。

sudo apt update
sudo apt upgrade -y

2 Pythonとpipをインストール

UbuntuにはPythonが入っていますが、念のため確認します。

python3 --version

pipをインストール

sudo apt install python3-pip -y

確認

pip3 --version

3 仮想環境(venv)を作る

Django開発では Python仮想環境を使うのが基本です。

仮想環境とは

  • プロジェクトごとにPython環境を分離する仕組み

venvをインストール

sudo apt install python3-venv -y

プロジェクト用ディレクトリ作成

mkdir django-project
cd django-project

仮想環境作成

python3 -m venv venv

フォルダ構成

django-project
 ├ venv

仮想環境を起動

source venv/bin/activate

起動すると

(venv) user@server:~/django-project$

のように (venv) が表示されます。


4 Djangoをインストール

仮想環境内でDjangoをインストールします。

pip install django

確認

django-admin --version

5.0.3

5 Djangoプロジェクト作成

プロジェクトを作ります。

django-admin startproject mysite

構造

django-project
 ├ venv
 ├ mysite
     ├ manage.py
     ├ mysite
         ├ __init__.py
         ├ asgi.py
         ├ settings.py
         ├ urls.py
         └ wsgi.py

プロジェクトディレクトリへ移動

cd mysite

6 開発サーバーを起動

Djangoのテストサーバーを起動します。

python manage.py runserver

表示

Starting development server at
http://127.0.0.1:8000/

ブラウザで確認

http://サーバーIP:8000

Djangoの画面が表示されれば成功です。


外部アクセス可能にする

デフォルトではローカルのみなので

python manage.py runserver 0.0.0.0:8000

7 管理者ユーザー作成

Djangoには管理画面があります。

python manage.py createsuperuser

入力

username
email
password

管理画面アクセス

http://サーバーIP:8000/admin

8 requirements.txtを作成(おすすめ)

環境再現のため

pip freeze > requirements.txt

内容例

Django==5.0.3

まとめ

Ubuntu ServerでのDjangoセットアップは次の手順です。

1 Ubuntu更新
2 Python / pipインストール
3 仮想環境作成
4 Djangoインストール
5 プロジェクト作成
6 開発サーバー起動

これで Djangoの基本環境が完成です。


次の記事

次はデータベース構築です。

Django + PostgreSQLでデータベースを運用する方法

では

  • PostgreSQLインストール
  • DjangoとPostgreSQL接続

を解説します。

コメント

タイトルとURLをコピーしました