はじめに
Djangoは、動的なウェブサイトやアプリケーションを開発するためのフル機能を備えたPythonウェブフレームワークです。Djangoを使用すると、Pythonウェブアプリケーションを迅速に作成し、フレームワークが大部分の重労働を行うことができます。
このガイドでは、Ubuntu 22.04サーバーでDjangoをセットアップします。インストール後、新しいプロジェクトを開始して、サイトの基礎として使用します。
異なる方法
Djangoをインストールする方法はさまざまで、必要に応じて開発環境を構成する方法によって異なります。これらにはそれぞれ異なる利点があり、ある方法が他の方法よりも特定の状況に適している場合があります。
いくつかの異なる方法には、次のようなものがあります。
- パッケージからのグローバルインストール:公式のUbuntuリポジトリには、従来の
apt
パッケージマネージャーでインストールできるDjangoパッケージが含まれています。これは簡単ですが、他の方法ほど柔軟ではありません。また、リポジトリに含まれるバージョンは、プロジェクトから利用可能な公式のバージョンよりも遅れる場合があります。 - 仮想環境で
pip
を使用してインストール:venv
やvirtualenv
などのツールを使用して、プロジェクトごとに自己完結型の環境を作成できます。仮想環境を使用すると、大規模なシステムに影響を与えることなく、プロジェクトディレクトリにDjangoをインストールできます。これにより、プロジェクトごとのカスタマイズやパッケージの追加も可能になります。通常、Djangoを使用する際には、これが最も実用的でお勧めされるアプローチです。 git
を使用して開発版をインストール:安定版の代わりに最新の開発版をインストールしたい場合は、Gitリポジトリからコードを取得することができます。 これにより、最新の機能や修正を取得することができますが、開発版にはより安定したバージョンとは異なる安定性の保証があります。
前提条件
開始する前に、Ubuntu 22.04サーバーにsudo特権を持つ非rootユーザーが必要です。これを設定するには、Ubuntu 22.04初期サーバーセットアップガイドに従ってください。
パッケージからのグローバルインストール
DjangoをUbuntuのリポジトリを使用してインストールしたい場合、プロセスは非常に簡単です。
まず、ローカルのパッケージインデックスをapt
で更新します:
次に、インストールされているPythonのバージョンを確認します。22.04にはデフォルトでPython 3.10がインストールされています。これを確認するには、次のように入力します:
次のような出力が表示されます:
OutputPython 3.10.4
次に、Djangoをインストールします:
インストールが成功したかどうかをテストするには、次のように入力します:
Output3.2.12
これにより、ソフトウェアが正常にインストールされたことが示されます。また、Djangoのバージョンが最新の安定版でないことに気づくかもしれません。ソフトウェアの使用方法について詳しく知るには、次に進んでサンプルプロジェクトの作成方法を学びます。
仮想環境でpipを使用してインストールする
システムにDjangoをインストールする最も柔軟な方法は、仮想環境内にインストールすることです。標準のPython 3ライブラリの一部であるvenv
モジュールを使用して、仮想環境を作成し、Pythonパッケージをインストールします。このツールを使用すると、システムの他の部分に影響を与えることなく、仮想Python環境を作成し、Pythonパッケージをインストールできます。したがって、他のプロジェクトの要件との競合に関係なく、プロジェクトごとにPythonパッケージを選択できます。
まず、ローカルのパッケージインデックスを更新しましょう:
Pythonのインストールされているバージョンを確認してください:
OutputPython 3.10.4
次に、Ubuntuのリポジトリからpip
とvenv
をインストールしましょう:
これで、新しいプロジェクトを始めるときに、そのための仮想環境を作成できます。まず、新しいプロジェクトディレクトリを作成して移動します:
次に、プロジェクトディレクトリ内で、Pythonのバージョンに対応したpython
コマンドを使用して仮想環境を作成します。仮想環境の名前はmy_env
としますが、説明的な名前を付けてください:
これにより、独立したPythonとpip
のバージョンが、プロジェクトディレクトリ内の隔離されたディレクトリ構造にインストールされます。選択した名前のディレクトリが作成され、そこにパッケージがインストールされます。
独立した環境にパッケージをインストールするには、それをアクティブにする必要があります。これは次のように入力して行います:
プロンプトが変更され、現在仮想環境にいることが反映されます。次のようなものになります:(my_env)username@hostname:~/newproject$
新しい環境では、pip
を使用してDjangoをインストールできます。Pythonのバージョンに関係なく、仮想環境にいるときはpip
を単にpip
と呼びます。また、ローカルにインストールするためsudo
を使用する必要はありません:
インストールを確認するには、次のように入力します:
Output4.0.4
ここで表示されているバージョンとは異なる場合があることに注意してください。
仮想環境から抜けるには、システムのどこからでもdeactivate
コマンドを発行する必要があります。
プロンプトは従来の表示に戻ります。プロジェクトに再度取り組みたいときは、プロジェクトディレクトリに戻ってアクティブ化してください:
Gitで開発バージョンをインストール
開発版のDjangoが必要な場合は、DjangoをそのGitリポジトリからダウンロードしてインストールできます。これを仮想環境内で行いましょう。
まず、ローカルパッケージインデックスを更新します:
インストールされているPythonのバージョンを確認します:
OutputPython 3.10.4
次に、pip
とvenv
を公式のリポジトリからインストールします:
次のステップは、Djangoリポジトリをクローンすることです。リリース間では、このリポジトリにはより最新の機能とバグ修正がありますが、安定性が犠牲になる可能性があります。ホームディレクトリ内の~/django-dev
というディレクトリにリポジトリをクローンできます。以下のように入力してください:
このディレクトリに移動します:
インストールされているPythonのバージョンと互換性のあるpython
コマンドを使用して仮想環境を作成します:
それをアクティブにします:
次に、リポジトリをpip
を使用してインストールできます。 -e
オプションは、バージョン管理からのインストール時に必要な「編集可能」モードでインストールします:
インストールが成功したことを確認するには、次のように入力します:
Output4.0.4.2
再度、表示されるバージョンはここに表示されているものと一致しない場合があります。
これで仮想環境に最新バージョンのDjangoがインストールされました。
サンプルプロジェクトの作成
Djangoがインストールされたら、プロジェクトの構築を開始できます。プロジェクトを作成し、仮想環境を使用して開発サーバーでテストする方法について説明します。
まず、プロジェクト用のディレクトリを作成し、そのディレクトリに移動します:
次に、仮想環境を作成します:
環境をアクティブにします:
Djangoをインストールします:
プロジェクトを構築するには、django-admin
をstartproject
コマンドと共に使用できます。プロジェクトをdjangoproject
と呼びますが、これを別の名前に置き換えることもできます。startproject
は、現在の作業ディレクトリ内にディレクトリを作成します。内部には次のものが含まれます:
- A management script,
manage.py
, which you can use to administer various Django-specific tasks. - A directory (with the same name as the project) that includes the actual project code.
ただし、ネストされたディレクトリが多すぎるのを避けるために、Djangoに管理スクリプトと内部ディレクトリを現在のディレクトリに配置するように指示しましょう(末尾のドットに注意してください):
データベースを移行するには(この例ではデフォルトでSQLiteを使用)、manage.py
と共にmigrate
コマンドを使用しましょう。 マイグレーションは、Django モデルに加えた変更をデータベーススキーマに適用します。
データベースを移行するには、次のように入力してください:
以下のような出力が表示されます:
OutputOperations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
最後に、管理ユーザーを作成してDjano管理インターフェースを使用できるようにしましょう。 これをcreatesuperuser
コマンドで行います:
ユーザー名、メールアドレス、およびユーザーのパスワードを入力するようにプロンプトが表示されます。
Django設定でALLOWED_HOSTSを変更する
アプリケーションを正常にテストするには、Django設定の指示の1つを変更する必要があります。
次のように入力して設定ファイルを開きます:
内部で、ALLOWED_HOSTS
ディレクティブを見つけてください。これは、Djangoインスタンスに接続するために使用できるアドレスまたはドメイン名のリストを定義します。このリストにないHostヘッダーを持つ受信リクエストは例外を発生させます。 Djangoは、特定のセキュリティ脆弱性の一部を防ぐためにこれを設定する必要があります。
角かっこ内に、Djangoサーバーに関連付けられているIPアドレスまたはドメイン名をリストします。各アイテムは引用符で囲まれ、カンマで区切られた別々のエントリで指定する必要があります。ドメイン全体とそのサブドメインに対するリクエストを受け入れる場合は、エントリの先頭にピリオドを追加してください。
完了したら、ファイルを保存してエディタを終了します。
開発サーバーのテスト
ユーザーを取得したら、新しいDjangoプロジェクトがどのように見えるかを確認するために、Django開発サーバーを起動できます。これは開発目的でのみ使用してください。デプロイ準備ができたら、Djangoのデプロイガイドラインに注意してください。
開発サーバーを試す前に、ファイアウォールで適切なポートを開いていることを確認してください。初期のサーバーセットアップガイドに従ってUFWを使用している場合は、次のように入力してポート8000
を開くことができます:
開発サーバーを起動します。
サーバーのIPアドレスに:8000
を追加して、ウェブブラウザーでアクセスしてください:
http://your_server_ip:8000
これは以下のように見えるはずです:
管理画面にアクセスするには、URLの末尾に/admin/
を追加してください:
http://your_server_ip:8000/admin/
これにより、ログイン画面に移動します:
作成した管理者のユーザー名とパスワードを入力すると、サイトのメイン管理セクションにアクセスできます:
Django管理画面の操作に関する詳細は、「Django管理画面の有効化と接続方法」を参照してください。
デフォルトサイトの閲覧が終了したら、ターミナルでCTRL-C
を入力して開発サーバーを停止できます。
作成したDjangoプロジェクトは、より完全なサイトを設計するための構造的な基盤を提供します。アプリケーションの構築方法やサイトのカスタマイズについての詳細は、Djangoドキュメントをご参照ください。
結論
これで、Ubuntu 22.04サーバーにDjangoがインストールされ、強力なWebアプリケーションを作成するために必要な主要なツールが提供されました。また、新しいプロジェクトを開始し、開発サーバーを起動する方法もわかりました。Djangoのような完全なWebフレームワークを活用することで、開発を迅速化し、アプリケーションのユニークな側面に集中することができます。
もしDjangoを使った作業についての詳細な情報が必要な場合は、モデルやビューなどについての詳細な議論を含む、当社のDjango開発シリーズをご覧ください。