序章

Djangoは、Pythonで記述された無料のオープンソースWebフレームワークであり、モデルテンプレートビュー(MTV)ソフトウェアアーキテクチャパターンに準拠しています。 MTVパターンは、 model–view–controller(MVC)パターンに対するDjangoの見解です。 Django Software Foundationによると、 model はデータの唯一の決定的なソースであり、 view は、Pythonコールバックfunction[を介してユーザーに表示されるデータを記述します。 X215X]を特定のURLに変換し、 template は、DjangoがHTMLを動的に生成する方法です。

Djangoのコア原則は、スケーラビリティ、再利用性、および迅速な開発です。 また、フレームワークレベルの一貫性と緩い結合で知られており、個々のコンポーネントを互いに独立させることができます。 繰り返さないでください( DRYプログラミング)は、Djangoの原則の不可欠な部分です。

このチュートリアルでは、Django開発環境をセットアップします。 Python 3、pip 3、Django、 virtualenv DjangoでWebアプリケーションを開発するために必要なツールを提供するため。

前提条件

root以外のユーザーアカウント sudo DebianまたはUbuntuLinuxサーバーに設定された特権。 これらの前提条件を達成するには、Debian 8 初期サーバー設定、または Ubuntu 16.04チュートリアルの初期サーバー設定の手順1〜4を実行します。

ステップ1—Pythonとpipをインストールします

Pythonをインストールするには、最初にローカルAPTリポジトリを更新する必要があります。 ターミナルウィンドウで、次のコマンドを入力します。 に注意してください -y フラグは、アップグレードプロセス中のプロンプトに対して「はい」と答えます。 プロンプトごとにアップグレードを停止する場合は、フラグを削除します。

  1. sudo apt-get update && sudo apt-get -y upgrade

構成を求められたら grub-pc、を押すことができます ENTER デフォルトを受け入れるか、必要に応じて構成します。

Django SoftwareFoundationはPython3を使用することを推奨しているため、すべてが更新されたら、次のコマンドを使用してPython3をインストールできます。

  1. sudo apt-get install python3

Python 3が正常にインストールされたことを確認するには、python3コマンドを使用してバージョンチェックを実行します。

  1. python3 -V

結果の出力は次のようになります。

Output
python 3.5.2

Python 3がインストールされたので、PythonのパッケージリポジトリであるPyPiからパッケージをインストールするには、pipも必要になります。

  1. sudo apt-get install -y python3-pip

pipが正常にインストールされたことを確認するには、次のコマンドを実行します。

  1. pip3 -V

次のような出力が表示されます。

Output
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

pipがインストールされたので、Python環境に必要な他のパッケージをすばやくインストールできます。

ステップ2—virtualenvをインストールします

virtualenv は、仮想環境であり、含まれている開発スペースにソフトウェアとPythonパッケージをインストールできます。これにより、インストールされたソフトウェアとパッケージがマシンの他のグローバル環境から分離されます。 この便利な分離により、競合するパッケージやソフトウェアが相互に作用するのを防ぎます。

virtualenvをインストールするには、以下に示すように、pip3コマンドを使用します。

  1. pip3 install virtualenv

インストールしたら、バージョンチェックを実行して、インストールが正常に完了したことを確認します。

  1. virtualenv --version

次の出力、または同様のものが表示されるはずです。

Output
virtualenv 20.0.20 from /home/sammy/.local/lib/python3.5/site-packages/virtualenv/__init__.py

virtualenvが正常にインストールされました。

この時点で、Django Webアプリケーションとそれに関連するソフトウェアの依存関係を、システム上の他のPythonパッケージまたはプロジェクトから分離できます。

ステップ3—Djangoをインストールします

Djangoをインストールするには3つの方法があります。 このチュートリアルでは、インストールのpipメソッドを使用しますが、参照用に使用可能なすべてのオプションについて説明しましょう。

  • オプション1:virtualenv内にDjangoをインストールします。これは、サーバーのグローバル環境からDjangoのバージョンを分離する必要がある場合に最適です。

  • オプション2:ソースからDjangoをインストールします。最新のソフトウェアが必要な場合、またはUbuntu APTリポジトリが提供するものよりも新しいものが必要な場合は、ソースから直接インストールできます。 ソフトウェアのバージョンを最新の状態にしたい場合は、このインストール方法を選択するために常に注意とメンテナンスが必要であることに注意してください。

  • オプション3:pipを使用してDjangoをグローバルにインストールします。 Djangoをグローバルにインストールするため、使用するオプションはpip3です。

仮想環境内で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アプリケーションを作成して実行できます。 Djangoの詳細については、 DjangoDevelopmentに関するチュートリアルシリーズをお読みください。

  1. pip install django

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

  1. django-admin --version

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

Output
2.2.12

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

ステップ4—Djangoテストプロジェクトを作成する

Djangoのインストールをテストするために、スケルトンWebアプリケーションを作成します。

ファイアウォールルールの設定

まず、該当する場合は、サーバーのファイアウォールで使用するポートを開く必要があります。 UFWを使用している場合(初期サーバーセットアップガイドで詳しく説明されています)、次のコマンドでポートを開くことができます。

  1. sudo ufw allow 8000

DigitalOceanファイアウォールを使用している場合は、 HTTP インバウンドルールから。 DigitalOceanファイアウォールとそのルールの作成について詳しくは、入門チュートリアルインバウンドルールのセクションをご覧ください。

プロジェクトの開始

これで、を使用してアプリケーションを生成できます 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 settings.py urls.py wsgi.py

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

  • __init__.py Pythonプロジェクトのエントリポイントとして機能します。
  • settings.py Djangoインストールの構成について説明し、使用可能な設定をDjangoに知らせます。
  • urls.py が含まれています urlpatterns リスト、URLをルーティングしてマップします views.
  • wsgi.py Webサーバーゲートウェイインターフェイスの構成が含まれています。 Webサーバーゲートウェイインターフェイス( WSGI )は、Webサーバーとアプリケーションを展開するためのPythonプラットフォーム標準です。

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

Webサイトを開始して表示する

これで、サーバーを起動し、指定されたホストとポートで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 鍵。

これが完了したら、必ずディレクトリに戻ってください。 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/

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

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

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

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

  1. deactivate

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

結論

このチュートリアルでは、UbuntuAPTリポジトリから入手できる最新バージョンのPython3に正常にアップグレードしました。 pip3もインストールしました。 virtualenv、 と django.

これで、DjangoWebアプリケーションの構築を開始するために必要なツールが手に入りました。