はじめに
Djangoは、Pythonで書かれたフリーかつオープンソースのWebフレームワークであり、そのコア原則は拡張性、再利用性、および迅速な開発にあります。また、フレームワークレベルでの一貫性と疎結合性でも知られており、個々のコンポーネントが互いに独立していることが可能です。
このチュートリアルでは、Ubuntu 22.04サーバー上で開発目的のDjango環境を構築します。ライブウェブサイトでは、データベースへの接続、ドメイン名の設定、およびセキュリティの追加など、追加の考慮事項があります。Djangoを使用して構築する際にサポートとなる、さまざまなチュートリアルがあります。Djangoのタグでサポートを受けながら構築してください。
前提条件
このチュートリアルを完了するには、以下が必要です:
-
sudo
権限を持つノンルートユーザーアカウント。これは、Ubuntu 22.04の初期サーバーセットアップチュートリアルを参照して、完了させることができます。 -
Python 3を仮想プログラミング環境でセットアップします。これは、Python 3インストールガイドを通じて設定できます。
ステップ1 — Djangoのインストール
Djangoをインストールするためのいくつかの方法があります。Pythonパッケージマネージャーのpipを使用して、仮想環境内にインストールします。
サーバーのホームディレクトリ内で、Djangoアプリケーションを含むディレクトリを作成します。次のコマンドを実行して、django-apps
という名前のディレクトリを作成します(または、任意の名前を選択します)。その後、ディレクトリに移動します。
django-apps
ディレクトリ内にいる間に、仮想環境を作成します。一般的なenv
という名前を付けますが、自分やプロジェクトに意味のある名前を使用する必要があります。
次に、次のコマンドで仮想環境をアクティブにします:
アクティベートされたことがわかると、接頭辞が(env)
に変更され、次のようになります(どのディレクトリにいるかによって異なります):
環境内で、pipを使用してDjangoパッケージをインストールします。 Djangoをインストールすると、Djangoアプリケーションを作成および実行できます。
インストールしたら、バージョンチェックを実行してDjangoのインストールを確認します:
これまたはこれに類似したものが出力されます:
Output4.0.6
サーバーにDjangoがインストールされている場合は、すべてが正しく機能していることを確認するためにテストプロジェクトを作成できます。スケルトンのWebアプリケーションを作成します。
ステップ2 — ファイアウォール設定の調整
最初のサーバーセットアップチュートリアルに従った場合、またはサーバーにファイアウォールが実行されている場合は、サーバーのファイアウォールで使用するポートを開く必要があります。UFWファイアウォールの場合、次のコマンドでポートを開くことができます:
「DigitalOcean Firewalls」を使用している場合は、入力ルールからHTTPを選択できます。 「DigitalOcean Firewalls」について詳しくは、入力ルールを変更してルールを作成する方法について詳しく説明されています。
ステップ3 — プロジェクトの開始
これで、Pythonの管理タスクのためのコマンドラインユーティリティであるdjango-admin
を使用してアプリケーションを生成できます。 次に、テストウェブサイトのプロジェクトディレクトリ構造を作成するためにstartproject
コマンドを使用できます。
ディレクトリdjango-apps
にいる間に、次のコマンドを実行します:注: django-admin startproject <projectname>
コマンドを実行すると、プロジェクトディレクトリとプロジェクトパッケージの両方が<projectname>
という名前になり、コマンドが実行されたディレクトリにプロジェクトが作成されます。 オプションの<destination>
パラメーターが提供された場合、Djangoは提供されたディレクトリをプロジェクトディレクトリとして使用し、そのディレクトリ内にmanage.py
とプロジェクトパッケージを作成します。
これで、作成されたプロジェクトファイルを確認できます。 testsite
ディレクトリに移動し、そのディレクトリの内容をリストアップして作成されたファイルを確認できます:
Outputmanage.py testsite
次の出力に気付くでしょう。このディレクトリには、manage.py
というファイルと testsite
というフォルダが含まれています。 manage.py
ファイルは、django-admin
に類似しており、プロジェクトのパッケージを sys.path
に配置します。また、これは DJANGO_SETTINGS_MODULE
環境変数をプロジェクトの settings.py
ファイルを指すように設定します。
ターミナルで less
コマンドを使用して manage.py
スクリプトを表示することができます。次のように実行します:
スクリプトを読み終わったら、ファイルを表示を終了するには q
を押します。
次に、作成された他のファイルを表示するために testsite
ディレクトリに移動します:
次に、次のコマンドを実行してディレクトリの内容をリストします:
4つのファイルが表示されます:
Output__init__.py asgi.py settings.py urls.py wsgi.py
それぞれのファイルの内容を確認できます:
__init__.py
は Python プロジェクトのエントリポイントとして機能します。asgi.py
には、同期および非同期のアプリ向けのオプションのデプロイメント構成が含まれており、Asynchronous Server Gateway Interface(ASGI)への標準を提供します。これは、同期および非同期のアプリ向けの標準であり、WSGI の後継と見なされています(以下参照)。settings.py
は Django インストールの設定を記述し、Django に使用可能な設定を通知します。urls.py
には、URL をそのviews
にルーティングおよびマッピングするurlpatterns
リストが含まれています。wsgi.py
は、WebサーバーゲートウェイインターフェイスまたはWSGIの構成を含んでおり、これは同期Pythonアプリケーションの標準を提供します。
注意:デフォルトのファイルが生成されていますが、いつでもデプロイメントのニーズに合わせてasgi.py
またはwsgi.py
ファイルを調整することができます。
ステップ4 — Djangoの設定
これで、runserver
コマンドを実行して指定したホストとポートでサーバーを起動し、ウェブサイトを表示できます。
settings.py
ファイル(~/test_django_app/testsite/testsite/
にあります)のALLOWED_HOSTS
リストにサーバーのIPアドレスを追加する必要があります。
Djangoドキュメントに記載されているように、ALLOWED_HOSTS
変数には「このDjangoサイトが提供できるホスト/ドメイン名を表す文字列のリストが含まれます。これは、多くの見かけ上安全なWebサーバー構成でも可能なHTTPホストヘッダー攻撃を防ぐセキュリティ対策です。」
お好みのテキストエディタを使用して、IPアドレスを追加できます。たとえば、nano
を使用している場合は、次のコマンドを実行します。
一度コマンドを実行したら、ドキュメントのALLOWED_HOSTS
セクションに移動して、サーバーのIPアドレスを角括弧内に単一引用符または二重引用符で追加します。
変更を保存してnanoを終了するには、CTRL
+ x
キーを押したまま y
キーを押します。次に、ウェブアプリにブラウザからアクセスします。
最後に、Django管理インターフェースを使用できる管理ユーザーを作成します。これはcreatesuperuser
コマンドで行います:
ユーザー名、メールアドレス、およびユーザーのパスワードが求められます。
ステップ5 — Djangoウェブアプリへのアクセス
設定が完了したら、manage.py
があるディレクトリに戻ってください:
次に、次のコマンドを実行し、your-server-ipのテキストをサーバーのIPに置き換えます:
最後に、以下のリンクに移動して、スケルトンウェブサイトの外観を確認できます。再度、強調表示されたテキストをサーバーの実際のIPに置き換えてください:
http://your-server-ip:8000/
ページが読み込まれると、以下のように表示されます:
これにより、Djangoが適切にインストールされ、テストプロジェクトが正常に動作していることが確認されます。
管理インターフェースにアクセスするには、URLの末尾に/admin/
を追加してください:
http://your_server_ip:8000/admin/
これにより、ログイン画面に移動します:
作成した管理者のユーザー名とパスワードを入力すると、サイトのメイン管理セクションにアクセスできます:
Django管理インターフェースの操作方法についての詳細は、「Django管理インターフェースの有効化と接続方法」を参照してください。
アプリのテストが完了したら、CTRL
+ C
を押してrunserver
コマンドを停止できます。これにより、プログラミング環境に戻ります。
Python環境を終了する準備が整ったら、deactivate
コマンドを実行できます:
プログラミング環境を無効にすると、端末のコマンドプロンプトに戻ります。
結論
このチュートリアルでは、Djangoを正常にインストールし、Djangoアプリの開発環境をセットアップしました。