Debian 8にDjango Web Frameworkをインストールする方法

前書き

Djangoは、動的なWebサイトおよびアプリケーションを開発するためのフル機能のPython Webフレームワークです。 Djangoを使用すると、Python Webアプリケーションをすばやく作成し、フレームワークに依存して多くの面倒な作業を行うことができます。

このガイドでは、Debian 8サーバーでDjangoを起動して実行する方法を示します。 インストール後、サイトの基盤として使用する新しいプロジェクトを開始する方法を示します。

前提条件

始める前に、Debian 8サーバーで利用可能な `+ sudo +`権限を持つ非rootユーザーが必要です。 これを設定するには、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-8 [Debian 8初期サーバーセットアップガイド]に従ってください。

続行する準備ができたら、以下を読んで、状況に最適なインストール方法を決定してください。

利用可能なインストール方法

ニーズと開発環境の設定方法に応じて、Djangoをインストールできるさまざまな方法があります。 これらにはさまざまな利点があり、1つの方法が他の方法よりも特定の状況に適している場合があります。

さまざまな方法の一部を以下に示します。

  • * link:#global-install-from-packages [パッケージからのグローバルインストール] *:公式のDebianリポジトリには、従来の `+ apt +`パッケージマネージャーで簡単にインストールできるDjangoパッケージが含まれています。 これは非常に簡単ですが、他のいくつかの方法ほど柔軟ではありません。 また、リポジトリに含まれるバージョンは、プロジェクトから入手できる公式バージョンよりも遅れることがあります。

  • * link:#global-install-through-pip [pipによるグローバルインストール] *: `+ pip `ツールはPythonパッケージのパッケージマネージャーです。 ` pip +`をインストールすると、すべてのユーザーが使用できるようにシステムレベルでDjangoを簡単にインストールできます。 これには常に最新の安定版リリースが含まれている必要があります。 それでも、グローバルインストールは本質的に柔軟性が低くなります。

  • * link:#virtualenv-install-through-pip [Virtualenvでpipを使用してインストール] *:Pythonの `+ virtualenv +`パッケージを使用すると、さまざまなプロジェクトの自己完結型の環境を作成できます。 このテクノロジを使用すると、システムレベルのパッケージに影響を与えることなく、プロジェクトディレクトリにDjangoをインストールできます。 これにより、プロジェクトごとのカスタマイズとパッケージを簡単に提供できます。 仮想環境は、グローバルにアクセス可能なインストールと比較して、若干の精神的およびプロセスのオーバーヘッドを追加しますが、最も柔軟性があります。

  • * link:#development-version-install-through-git [gitによる開発バージョンのインストール] *:安定版リリースではなく最新の開発バージョンをインストールする場合は、 `+ git +`からコードを取得する必要がありますレポ。 これは、最新の機能/修正を取得するために必要な場合があり、グローバルまたはローカルで実行できます。 ただし、開発バージョンには同じ安定性の保証はありません。

上記の注意事項と品質を念頭に置いて、以下の指示からニーズに最適なインストール方法を選択してください。 その後、link:#creating-a-sample-project [サンプルプロジェクトの作成]のセクションを確認して、開始方法を確認してください。

パッケージからのグローバルインストール

Debianリポジトリを使用してDjangoをインストールする場合、プロセスは非常に簡単です。

最初に、ローカルパッケージインデックスを `+ apt +`で更新します。

sudo apt-get update

次に、Djangoで使用するPythonバージョンを選択します。 * Python 2 *の場合、次のように入力します。

sudo apt-get install python-django

代わりに、Djangoで* Python 3 *を使用する場合は、次のように入力します。

sudo apt-get install python3-django

次のように入力して、インストールが成功したことをテストできます。

django-admin --version
Output1.7.11

これは、ソフトウェアが正常にインストールされたことを意味します。 また、Djangoバージョンが最新の安定版ではないことに気付くかもしれません。 ソフトウェアの使用方法について少し学ぶには、https://www.digitalocean.com/community/tutorials/how-to-install-the-django-web-framework-on-debian-8#creatingをご覧ください。 -a-sample-project [サンプルプロジェクトの作成方法]。

pipによるグローバルインストール

Djangoの最新バージョンをグローバルにインストールする場合、Pythonパッケージマネージャーである `+ pip `を使用することをお勧めします。 まず、 ` pip `パッケージマネージャーをインストールする必要があります。 ` apt +`パッケージインデックスを更新します。

sudo apt-get update

これで、適切なパッケージをインストールしてインストールを完了できます。 必要なパッケージとコマンドは、プロジェクトで使用する予定のPythonのバージョンによって異なります。

Python 2

Python 2の使用を計画している場合は、次のコマンドを使用して、Pythonパッケージマネージャーである `+ pip +`をインストールします。

sudo apt-get install python-pip

`+ pip +`ができたので、次のように入力してDjangoを簡単にインストールできます。

sudo pip install django

次のように入力して、インストールが成功したことを確認できます。

django-admin --version
Output1.10.4

ご覧のとおり、 `+ pip +`で利用可能なバージョンは、Debianリポジトリのバージョンよりも最新のものです(おそらく上記のものとは異なるでしょう)。

Python 3

  • Python3 *の使用を計画している場合は、次のコマンドを使用して `+ pip`をインストールします。

sudo apt-get install python3-pip

次に、 `+ pip +`パッケージマネージャーを利用して、次のように入力してDjangoをインストールできます。

sudo pip3 install django

インストールが正しく完了したことを確認するには、次を入力します。

django-admin --version
Output1.10.4

`+ pip +`を介してインストールされるバージョンは、最新の安定したリリースである必要があります(特定のバージョンは上記のものと異なる場合があります)。

pipを介したVirtualenvインストール

おそらく、システムにDjangoをインストールする最も柔軟な方法は、 `+ virtualenv +`ツールを使用することです。 このツールを使用すると、システムの他の部分に影響を与えることなく、必要なPythonパッケージをインストールできる仮想Python環境を作成できます。 これにより、他のプロジェクトの要件との競合に関係なく、プロジェクトごとにPythonパッケージを選択できます。

Debianリポジトリから `+ pip +`をインストールすることから始めます。 開始する前にローカルパッケージインデックスを更新します。

sudo apt-get update

Djangoのインストールに必要なパッケージとコマンドは、プロジェクトに使用するPythonのバージョンによって異なります。 使用する予定のPythonのバージョンに応じて、以下の手順に従ってください。

Python 2

最初のステップは、 `+ pip +`をグローバルにインストールすることです。 Python 2を使用する場合、これを行うコマンドは次のとおりです。

sudo apt-get install python-pip

`+ pip `がインストールされたら、それを使用して ` virtualenv +`パッケージをインストールできます:

sudo pip install virtualenv

これで、新しいプロジェクトを開始するたびに、そのプロジェクト用の仮想環境を作成できます。 新しいプロジェクトディレクトリを作成して移動することから始めます。

mkdir ~/
cd ~/

次のように入力して、プロジェクトディレクトリ内に仮想環境を作成します。

virtualenv

これにより、Pythonのスタンドアロンバージョンと `+ pip `がプロジェクトディレクトリ内の分離されたディレクトリ構造にインストールされます。 仮想環境を「+」と呼ぶことにしましたが、わかりやすい名前を付けることができます。 選択した名前のディレクトリが作成され、パッケージがインストールされるファイル階層が保持されます。

分離環境にパッケージをインストールするには、次を入力してアクティブ化する必要があります。

cd ~/
source /bin/activate

仮想環境にいることを反映して、プロンプトが変更されるはずです。 `+()username @ hostname:〜/ projectname $ +`のようになります。

新しい環境では、「+ pip 」を使用してDjangoをインストールできます。 ローカルにインストールするため、「 sudo +」を使用する必要はありません。

pip install django

次のように入力して、インストールを確認できます。

django-admin --version
Output1.10.4

ご覧のとおり、Djangoは仮想環境にインストールされています。

Python 3

最初のステップは、 `+ pip +`をグローバルにインストールすることです。 Python 3でこれを行うには、次のように入力します。

sudo apt-get install python3-pip

次に、インストールしたばかりのパッケージマネージャーを使用して、 + virtualenv + Pythonパッケージをインストールします。

sudo pip3 install virtualenv

次に、新しいプロジェクトのパッケージを保持する仮想環境を作成します。 新しいプロジェクトディレクトリを作成して移動することから始めます。

mkdir ~/
cd ~/

次を入力して、プロジェクトディレクトリ内に仮想環境を作成します。

virtualenv

これにより、Pythonのスタンドアロンバージョンと `+ pip `がプロジェクトディレクトリ内の分離されたディレクトリ構造にインストールされます。 引数として渡された名前でディレクトリが作成されます。 ここでは「+」を選択しました。 このディレクトリは、パッケージがインストールされるファイル階層を保持します。

パッケージを仮想環境にインストールする前に、次を入力してアクティブ化する必要があります。

cd ~/
source /bin/activate

これで、コマンドプロンプトの前に仮想環境の名前が追加されます。 `+()username @ hostname:〜/ projectname $ +`のようになります。

新しい環境で、 `+ pip `を使用してDjangoをインストールします。 Python 3を使用しているにもかかわらず、仮想環境でのコマンドは「 pip 」であることに注意してください(「 pip3 」ではありません)。 また、ローカルにインストールしているので、 ` sudo +`を使用する必要はありません。

pip install django

次のように入力して、インストールを確認できます。

django-admin --version
Output1.10.4

ご覧のとおり、Djangoは仮想環境にインストールされています。

gitによる開発バージョンのインストール

Djangoの開発バージョンが必要な場合は、プロジェクトの `+ git +`リポジトリからDjangoをダウンロードしてインストールする必要があります。

そのためには、まずシステムに `+ git `を ` apt `でインストールします。 また、ダウンロードしたソースコードからインストールするために使用される「 pip +」も必要です。 パッケージ名とコマンドは、Djangoで使用する予定のPythonのバージョンによって異なります。

Python 2

Python 2を使用している場合は、次を入力してパッケージインデックスを更新し、必要なパッケージをインストールできます。

sudo apt-get update
sudo apt-get install git python-pip

`+ git `を取得したら、Djangoリポジトリを複製できます。 リリース間で、このリポジトリには、安定性を犠牲にして、より多くの最新機能とバグ修正が含まれます。 次のように入力して、ホームディレクトリ内の ` django-dev +`というディレクトリにリポジトリを複製できます。

git clone git://github.com/django/django ~/django-dev

リポジトリのクローンを作成したら、 `+ pip `を使用してインストールできます。 ` -e +`オプションを使用して、「編集可能」モードでインストールします。これは、バージョン管理からインストールするときに必要です。 Pythonのバージョン2を使用している場合は、次を入力します。

sudo pip install -e ~/django-dev

次のように入力して、インストールが成功したことを確認できます。

django-admin --version
Output1.11.dev20161220175814

Djangoの開発バージョンを単一の環境にインストールする場合は、この戦略と `+ virtualenv`を組み合わせることができることに注意してください。

Python 3

  • Python 3 *を使用している場合は、次のように入力してパッケージインデックスを更新し、 `+ git `と ` pip +`をインストールします。

sudo apt-get update
sudo apt-get install git python3-pip

次に、次のように入力して、Djangoリポジトリをホームディレクトリ内の `+ django-dev +`というディレクトリに複製できます。

git clone git://github.com/django/django ~/django-dev

`+ pip `で ` git `ディレクトリからDjangoを直接インストールできます。 ` -e +`オプションを使用すると、バージョン管理リポジトリからインストールするときに必要な「編集可能」モードでインストールできます。

sudo pip3 install -e ~/django-dev

次のように入力して、インストールが成功したことを確認できます。

django-admin --version
Output1.11.dev20161220175814

隔離された環境内に開発バージョンをインストールする場合、この戦略を `+ virtualenv +`戦略と組み合わせることができます。

サンプルプロジェクトの作成

Djangoをインストールしたら、プロジェクトを開始する方法を示します。

プロジェクトの基本を作成する

プロジェクトを作成するには、 `+ django-admin +`コマンドを使用します。 これにより、現在のディレクトリ内に「」というディレクトリが作成されます。 この新しいディレクトリ内に、管理スクリプトが作成され、実際のコードで「」という別のディレクトリが作成されます。

完全なディレクトリ構造(親プロジェクトディレクトリ、管理スクリプト、および内部プロジェクトディレクトリ)を作成するには、次のように入力します。

django-admin startproject
cd

データベースをブートストラップするには(デフォルトでSQLiteが使用されます)、次のように入力します。

./manage.py migrate

次に、次のように入力して管理ユーザーを作成します。

./manage.py createsuperuser

ユーザーのユーザー名、メールアドレス、パスワードを選択するよう求められます。

Django設定でALLOWED_HOSTSを変更する

アプリケーションをテストする前に、Django設定のディレクティブの1つを変更する必要があります。

次のように入力して設定ファイルを開きます。

nano ~///settings.py

内部で、 `+ ALLOWED_HOSTS +`ディレクティブを見つけます。 これは、Djangoインスタンスへの接続に使用できるアドレスまたはドメイン名のホワイトリストを定義します。 このリストにない* Host *ヘッダーを持つ着信リクエストは例外を発生させます。 Djangoでは、特定のクラスのセキュリティ脆弱性を防ぐために、これを設定する必要があります。

角括弧内に、Djangoサーバーに関連付けられているIPアドレスまたはドメイン名をリストします。 各項目は*引用符で*エントリを*コンマで区切ってリストする必要があります。 ドメインおよびサブドメインの要求に応答する場合は、エントリの先頭にピリオドを追加します。 以下のスニペットには、エントリをフォーマットする正しい方法を示すために使用されるコメントアウトされた例がいくつかあります。

〜/ myproject / myproject / settings.py

. . .
# The simplest case: just add the domain name(s) and IP addresses of your Django server
# ALLOWED_HOSTS = [ 'example.com', '203.0.113.5']
# To respond to 'example.com' and any subdomains, start the domain with a dot
# ALLOWED_HOSTS = ['.example.com', '203.0.113.5']
ALLOWED_HOSTS = ['', '', ]

終了したら、ファイルを保存して閉じます。

開発サーバーでテストする

次に、Django開発サーバーを起動して、新しいDjangoプロジェクトの外観を確認します。 これは開発目的でのみ使用してください。

次のように入力して、開発サーバーを起動します。

~//manage.py runserver 0.0.0.0:8000

WebブラウザーでサーバーのIPアドレスに続けて「:8000」にアクセスします

http://:8000

次のようなものが表示されるはずです。

image:https://assets.digitalocean.com/articles/django_1404/django_default.png [Django public page]

次に、URLの末尾に「+ / admin +」を追加して、管理者ログインページに移動します。

:8000/admin

image:https://assets.digitalocean.com/articles/django_1404/django_admin_login.png [Django admin login]

作成した管理者のユーザー名とパスワードを入力すると、サイトの管理者セクションに移動する必要があります。

image:https://assets.digitalocean.com/articles/django_1404/django_admin_page.png [Django管理ページ]

デフォルトのサイトを調べ終わったら、ターミナルで「+ CTRL-C +」と入力して開発サーバーを停止できます。

作成したDjangoプロジェクトは、より完全なサイトを設計するための構造的基盤を提供します。 アプリケーションの構築方法とサイトのカスタマイズ方法の詳細については、https://docs.djangoproject.com [Django documentation]をご覧ください。

結論

これで、Debian 8サーバーにDjangoがインストールされ、強力なWebアプリケーションを作成するために必要な主要ツールが提供されます。 また、新しいプロジェクトを開始し、開発者サーバーを起動する方法を知っている必要があります。 Djangoのような完全なWebフレームワークを活用すると、開発を高速化でき、アプリケーションの固有の側面のみに集中できます。