序章

Djangoは、Pythonで記述された無料のオープンソースWebフレームワークであり、そのコア原則はスケーラビリティ、再利用性、および迅速な開発です。 また、フレームワークレベルの一貫性と緩い結合で知られており、個々のコンポーネントを互いに独立させることができます。

このチュートリアルでは、Ubuntu20.04サーバー上に開発目的用のDjango環境をセットアップします。 ライブWebサイトの場合、データベースへの接続、ドメイン名の設定、セキュリティのレイヤーの追加など、追加の考慮事項があります。 Djangoタグでビルドする際のサポートに役立つDjangoに関するさまざまなチュートリアルがあります。

前提条件

このチュートリアルを完了するには、次のものが必要です。

  • root以外のユーザーアカウント sudo 特権。これは、Ubuntu20.04チュートリアルの初期サーバーセットアップを実行して完了することで達成できます。

  • 仮想プログラミング環境でセットアップされたPython3。 この設定は、Python3インストールガイドから入手できます。

ステップ1—Djangoをインストールする

仮想環境内にPythonパッケージマネージャーのpipであるDjangoをインストールする方法はいくつかあります。

サーバーのホームディレクトリにいる間に、Djangoアプリケーションを含むディレクトリを作成します。 次のコマンドを実行して、django-appsまたは任意の別の名前のディレクトリを作成します。 次に、ディレクトリに移動します。

  1. mkdir django-apps
  2. cd django-apps

django-apps ディレクトリ内で、仮想環境を作成します。 これを一般的なenvと呼びますが、自分とプロジェクトにとって意味のある名前を使用する必要があります。

  1. virtualenv env

次に、次のコマンドを使用して仮想環境をアクティブ化します。

  1. . env/bin/activate

プレフィックスが(env)に変更されると、アクティブになっていることがわかります。これは、現在のディレクトリに応じて、次のようになります。

環境内で、pipを使用してDjangoパッケージをインストールします。 Djangoをインストールすると、Djangoアプリケーションを作成して実行できます。

  1. pip install django

インストールしたら、バージョンチェックを実行してDjangoのインストールを確認します。

  1. django-admin --version

これ、または同様のものが結果の出力になります。

Output
3.0.6

サーバーにDjangoがインストールされたら、テストプロジェクトの作成に進み、すべてが正しく機能していることを確認できます。 スケルトンWebアプリケーションを作成します。

ステップ2—ファイアウォール設定の調整

サーバーの初期設定チュートリアルに従った場合、またはサーバーでファイアウォールを実行している場合は、サーバーのファイアウォールで使用するポートを開く必要があります。 UFWファイアウォールの場合、次のコマンドでポートを開くことができます。

  1. sudo ufw allow 8000

DigitalOceanファイアウォールを使用している場合は、 HTTP インバウンドルールから。 インバウンドルールを変更することで、DigitalOceanファイアウォールとそのルールの作成について詳しく読むことができます。

ステップ3—プロジェクトを開始する

これで、を使用してアプリケーションを生成できます django-admin、Pythonの管理タスク用のコマンドラインユーティリティ。 次に、 startproject テストWebサイトのプロジェクトディレクトリ構造を作成するコマンド。

にいる間 django-apps ディレクトリで、次のコマンドを実行します。

  1. django-admin startproject testsite

注:実行中 django-admin startproject <projectname> コマンドは、プロジェクトディレクトリとプロジェクトパッケージの両方に名前を付けます <projectname> コマンドが実行されたディレクトリにプロジェクトを作成します。 オプションの場合 <destination> パラメータが指定されている場合、Djangoは指定された宛先ディレクトリをプロジェクトディレクトリとして使用し、作成します manage.py そしてその中のプロジェクトパッケージ。

これで、作成されたばかりのプロジェクトファイルを確認できます。 に移動します testsite 次に、ディレクトリにそのディレクトリの内容を一覧表示して、作成されたファイルを確認します。

  1. cd testsite
  1. ls
Output
manage.py testsite

このディレクトリに次の名前のファイルが含まれていることを示す出力が表示されます。 manage.py とという名前のフォルダ testsite. The manage.py ファイルはに似ています django-admin プロジェクトのパッケージを sys.path. これはまた設定します DJANGO_SETTINGS_MODULE プロジェクトを指す環境変数 settings.py ファイル。

あなたは見ることができます manage.py を実行して、ターミナルでスクリプトを作成します less そのようなコマンド:

  1. less manage.py

スクリプトを読み終えたら、を押します q、ファイルの表示を終了します。

次に、に移動します testsite 作成された他のファイルを表示するディレクトリ:

  1. cd testsite/

次に、次のコマンドを実行して、ディレクトリの内容を一覧表示します。

  1. ls

4つのファイルが表示されます。

Output
__init__.py asgi.py settings.py urls.py wsgi.py

これらの各ファイルが何であるかを見てみましょう。

  • __init__.py Pythonプロジェクトのエントリポイントとして機能します。
  • asgi.py 非同期サーバーゲートウェイインターフェイスまたはASGIへのオプションの展開の構成が含まれています。これは、同期および非同期のいずれかのアプリの標準を提供し、WSGIの後継と見なされます(以下を参照)。
  • settings.py Djangoインストールの構成について説明し、使用可能な設定をDjangoに知らせます。
  • urls.py が含まれています urlpatterns リスト、URLをルーティングしてマップします views.
  • wsgi.py 同期Pythonアプリの標準を提供するWebServerGatewayInterfaceまたはWSGIの構成が含まれています。

注:デフォルトのファイルが生成されますが、それでも微調整することができます asgi.py また wsgi.py 展開のニーズに合わせていつでもファイル。

ステップ4—Djangoを設定する

これで、サーバーを起動し、指定されたホストとポートでWebサイトを表示できます。 runserver 指図。

サーバーのIPアドレスを次のリストに追加する必要があります ALLOWED_HOSTS の中に settings.py にあるファイル ~/test_django_app/testsite/testsite/.

Django docs に記載されているように、 ALLOWED_HOSTS 変数には、「このDjangoサイトが提供できるホスト/ドメイン名を表す文字列のリストが含まれます。 これは、HTTPホストヘッダー攻撃を防ぐためのセキュリティ対策です。これは、一見安全に見える多くのWebサーバー構成でも可能です。」

お気に入りのテキストエディタを使用して、IPアドレスを追加できます。 たとえば、使用している場合 nano、次のコマンドを実行します。

  1. nano ~/django-apps/testsite/testsite/settings.py

コマンドを実行したら、ドキュメントの[許可されたホスト]セクションに移動し、一重引用符または二重引用符で囲まれた角かっこ内にサーバーのIPアドレスを追加します。

settings.py
"""
Django settings for testsite project.

Generated by 'django-admin startproject' using Django 2.0.
...
"""
...
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

# Edit the line below with your server IP address
ALLOWED_HOSTS = ['your-server-ip']
...

を押し続けると、変更を保存してnanoを終了できます。 CTRL + x キーを押してから y 鍵。 次に、ブラウザを介してWebアプリにアクセスします。

最後に、Djano管理インターフェースを使用できるように管理ユーザーを作成しましょう。 でこれをやってみましょう createsuperuser 指図:

  1. python manage.py createsuperuser

ユーザーのユーザー名、メールアドレス、パスワードの入力を求められます。

ステップ5—DjangoWebアプリへのアクセス

構成が完了したら、必ずディレクトリに戻ってください。 manage.py 位置しています:

  1. cd ~/django-apps/testsite/

次に、your-server-ipテキストをサーバーのIPに置き換えて次のコマンドを実行します。

  1. python manage.py runserver your-server-ip:8000

最後に、以下のリンクに移動して、スケルトンWebサイトがどのように表示されるかを確認し、強調表示されたテキストをサーバーの実際のIPに置き換えます。

http://your-server-ip:8000/

ページが読み込まれると、次のように表示されます。

これにより、Djangoが正しくインストールされ、テストプロジェクトが正しく機能していることが確認されます。

管理インターフェースにアクセスするには、次を追加します /admin/ URLの最後まで:

http://your_server_ip:8000/admin/

これにより、ログイン画面が表示されます。

作成した管理者のユーザー名とパスワードを入力すると、サイトのメインの管理者セクションにアクセスできます。

Django管理インターフェースの操作の詳細については、「Django管理インターフェースを有効にして接続する方法」を参照してください。

アプリのテストが終了したら、を押すことができます CTRL + C 停止するには runserver 指図。 これにより、プログラミング環境に戻ります。

Python環境を離れる準備ができたら、 deactivate 指図:

  1. deactivate

プログラミング環境を非アクティブ化すると、ターミナルコマンドプロンプトに戻ります。

結論

このチュートリアルでは、Djangoを正常にインストールし、開発環境をセットアップしてDjangoアプリでの作業を開始しました。

これで、DjangoWebアプリケーションの構築を開始するために必要な基盤ができました。