Django は、安全でメンテナンス性の高いウェブサイトを迅速に開発できる、高レベルのウェブフレームワークです。これは、Python で書かれた、無料のオープンソースフレームワークです。Djangoは、パフォーマンス、セキュリティ、スケーラビリティ、ポータビリティ、メンテナンス性などの追加機能でも人気があります。
このガイドでは、Djangoをインストールし、シンプルなウェブアプリをセットアップする方法を説明します。Ubuntu 20.04.
UbuntuでのDjango
システムにDjangoをインストールする方法は複数あります。それぞれの方法は異なる目的に適しています。
- グローバルインストール:Djangoは、Ubuntuの公式パッケージリポジトリからすぐに利用できます。APTパッケージマネージャーを使用して直接インストールできます。このインストール方法は簡単ですが、他の方法に比べて柔軟性に欠けます。さらに、フレームワークの最新バージョンが含まれていない場合があります。
- 仮想環境で
pipを使用してインストールする:venvやvirtualenvなどのツールを使用すると、仮想環境を構築してそこにDjangoをインストールできます。このアプローチの利点は、システム全体に影響を与えないことです。また、プロジェクトごとのカスタマイズやパッケージも可能になります。これは、Djangoを扱う上で最も実用的で推奨される方法です。 - Django開発バージョンのインストール:Djangoは GitHub でも入手できます。最新の開発バージョンには最新の機能や修正が含まれています。ただし、パフォーマンスや安定性の問題が発生する可能性があります。
このガイドでは、適切に設定されたUbuntuサーバーがあることを前提としています。Ubuntuサーバーをまだお持ちでない場合は、こちらのガイドを参照してください:独自のUbuntuサーバーをセットアップする方法.
UbuntuへのDjangoのインストール
1. パッケージマネージャーを使用したグローバルインストール
Djangoは公式パッケージリポジトリからすぐに利用できます。インストールプロセスは非常に簡単です。まず、APTパッケージインデックスを更新します。
|
1 |
$ sudo apt update |
次に、インストールされているPythonのバージョンを確認します。デフォルトでは、Ubuntu 20.04にはPython 3.8が付属しています。
|
1 |
$ python3 -V |
これで、Djangoをインストールする準備が整いました。
|
1 |
$ sudo apt install python3-django |
インストールが成功したかどうかを確認できます。次のコマンドを実行して、Djangoのバージョンを確認します。
|
1 |
$ django-admin --version |
これにより、Djangoが正常にインストールされたことが確認されます。Djangoのバージョンは最新の安定版リリースではないことに注意してください。執筆時点で利用可能なDjangoの最新バージョンは、v3.2.5 (LTSリリース).
2. pipを使用したDjangoのインストール(仮想環境内)
これは、最も柔軟性があるため、Djangoをインストールする推奨される方法です。Python 3標準ライブラリの一部として提供されている venv モジュールを使用して仮想環境を生成します。これにより、システム内の他の場所に影響を与えることなく、仮想Python環境を作成し、Pythonパッケージをインストールすることができます。独自の構成を持つ多数の仮想環境を作成できます。
始めましょう。まず、Pythonの pip と venv モジュールが必要です。
|
1 2 |
$ sudo apt update $ sudo apt install python3-pip python3-venv |
モジュールが正常にインストールされました。次に、仮想環境用の専用ディレクトリを作成します。
|
1 |
$ mkdir -pv ~/sample_project |
次に、アクティブなディレクトリを新しいディレクトリに変更します。
|
1 |
$ cd ~/sample_project |
これで、venv に対して、ディレクトリ内に仮想環境を構築するように指示できます。環境名については、わかりやすい名前にする必要があります。
|
1 |
$ python3 -m venv sample_project_env |
この venv モジュールは、Pythonと pip のコピーを、プロジェクトディレクトリ内の隔離されたディレクトリ構造に作成します。これには、選択した名前のディレクトリが含まれ、そこにはすべてのパッケージがインストールされるファイル階層が含まれます。
追加のパッケージをインストールするには、環境をアクティブ化する必要があります。
|
1 |
$ source sample_project_env/bin/activate |
シェルプロンプトは次のように変化するはずです:
仮想環境内で、Djangoをインストールできるようになりました。
|
1 |
$ pip install django |
インストールが成功したか確認します:
|
1 |
$ django-admin --version |
仮想環境を終了するには、次のコマンドを実行します:
|
1 |
$ deactivate |
3. Django開発バージョンのインストール
Djangoの開発バージョンは、直接GitHubから入手できます。仮想環境内でクローンしてデプロイするために、gitを使用します。
まず、必要なツールがインストールされていることを確認します。次のコマンドで、venvとpip(Pythonモジュール)、およびgit:
|
1 |
$ sudo apt update && sudo apt install python3-pip python3-venv git |
次に、Djangoのリポジトリをクローンします。これには(安定性を犠牲にして)最新の機能とバグ修正がすべて含まれています。次のディレクトリにクローンします: ~/django-dev:
|
1 |
$ git clone git://github.com/django/django ~/django-dev |
カレントディレクトリをクローンしたリポジトリに変更します:
|
1 |
$ cd ~/django-dev |
その後、Pythonのvenvモジュールを使用して仮想環境を構築します:
|
1 |
$ python3 -m venv sample_project_env |
次に、仮想環境をアクティベートします:
|
1 |
$ source sample_project_env/bin/activate |
これで、GitHubからクローンしたDjangoをインストールできます。ここで、フラグ-eは、バージョン管理からインストールできるようにする「編集可能(editable)」モードを指します:
|
1 |
$ pip install -e ~/django-dev |
最後に、インストールを確認します:
|
1 |
$ django-admin --version |
Djangoサンプルプロジェクト
ここまでは、システムにDjangoをインストールする方法を説明しました。次は、実際にDjangoを動かしてみましょう。このセクションでは、サンプルのDjangoプロジェクトを作成する方法を説明します。サンプルプロジェクトは仮想環境内に作成されます。
サンプルプロジェクト用のディレクトリを作成します:
|
1 |
$ mkdir -pv ~/django-test |
カレントディレクトリをプロジェクトディレクトリに変更します:
|
1 |
$ cd ~/django-test |
次に、venvモジュールを使用してPythonの仮想環境を構築します:
|
1 |
$ python3 -m venv dummy_env |
仮想環境の準備ができました。環境をアクティベートします:
|
1 |
$ source dummy_env/bin/activate |
環境内にDjangoをインストールできます:
|
1 |
$ pip install django |
We can use django-adminを使用してプロジェクトのベースを構築できます。ここでは、サンプルプロジェクトの名前をsampleprojectとします。プロジェクトには、必要なすべてのファイルを含むディレクトリが環境ディレクトリ内に作成されます。
manage.py: さまざまなDjango固有のタスクを管理する管理スクリプト。サンプルプロジェクト: 実際のプロジェクトコードが含まれる、プロジェクト名と同じ名前のディレクトリ。
ただし、ネストされたディレクトリが多すぎて複雑になるのを避けるため、Djangoにファイルとディレクトリをカレントディレクトリに配置するように指示します:
|
1 |
$ django-admin startproject sampleproject . |
次のステップはデータベースのマイグレーションです。デフォルトでは、DjangoはSQLite. マイグレーションは、Djangoモデルに加えられた変更をデータベーススキーマに適用します。次のコマンドを実行してデータベースをマイグレーションします:
|
1 |
$ python manage.py migrate |
最後に、Django管理インターフェースを使用するための管理者ユーザーを作成します。次のコマンドを実行します:
|
1 |
$ python manage.py createsuperuser |
ユーザーのユーザー名、メールアドレス、およびパスワードの入力を求められます。
Django設定におけるALLOWED_HOSTS
アプリケーションをテストするには、Django設定の特定のディレクティブを変更する必要があります。テキストエディタでsettings.pyファイルを開きます:
|
1 |
$ nano ~/django-test/sampleproject/settings.py |
対象となるディレクティブはALLOWED_HOSTSです。これは、Djangoインスタンスに接続できるアドレスまたはドメイン名のリストを定義します。リストにないホストからのリクエストは例外を発生させます。これは、特定の種類のセキュリティ脆弱性を防ぐためにDjangoで必須となっています。
角括弧の中に、Djangoサーバーに関連付けられたIPアドレスまたはドメイン名をリストします。各項目は引用符で囲み、カンマ(,)で区切ります。ディレクティブの構造は次のようになります。
|
1 |
$ ALLOWED_HOSTS = ['<server_ip_or_domain>', '<server2_ip_or_doman>'] |
リストを保存してエディタを閉じます。
サーバーのテスト
これでDjangoデプロイ用サーバーを起動できます。新しいDjangoプロジェクトが表示されます。これは開発目的でのみ使用する必要があることに注意してください。本格的なデプロイについては、次のデプロイに関するDjango公式ガイド.
開発用サーバーにアクセスする前に、ファイアウォールがポート8000へのアクセスを許可していることを確認してください。もしUbuntuサーバーのセットアップガイドに従っている場合は、UFWにポート8000を開いて通信を許可するように指示します:
|
1 |
$ sudo ufw allow 8000 |
UFWは、すべての主要なLinuxディストリビューションで利用できる一般的なファイアウォールです。以下は、UFWのさまざまな基本を説明するガイドです。これで開発用サーバーを実行する準備が整いました。サーバーを起動します:
|
1 |
$ python manage.py runserver <server_ip>:8000 |
次に、ウェブブラウザでポート8000のサーバーのIPアドレスにアクセスします。Djangoのウェルカムページが表示されます:
|
1 |
$ http://<server_ip>:8000 |
Django管理パネルにアクセスするには、/admin/をURLの末尾に追加します:
|
1 |
$ http://<server_ip>:8000/admin/ |
管理セクションにアクセスするには、管理者のユーザー名とパスワードを入力します:
サーバーを停止するには、ターミナルでCTRL-Cを押します。
最後に
Djangoプロジェクトは、より完全なサイトを設計するための構造的な基盤を提供します。ウェブアプリケーションを動かすために必要な主要なツールが用意されています。Djangoのようなウェブフレームワークを活用することで、プロジェクトの開発を迅速化し、アプリケーション独自の側面に、より多くの時間を費やすことができます。
ハッピーコンピューティング!












コメント
コメントはまだありません。最初のコメントを投稿しましょう。