Ubuntu 16.04でDjangoをインストールして開発環境をセットアップする方法

前書き

Djangoは、Pythonで記述された無料のオープンソースWebフレームワークであり、* model template view(MTV)*ソフトウェアアーキテクチャパターンに準拠しています。 MTVパターンは、Djangoがhttps://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller[model–view–controller(MVC)]パターンを取り入れたものです。 Django Software Foundationによると、_model_はデータの唯一の決定的なソースであり、_view_はPythonコールバックhttps://www.digitalocean.com/community/tutorials/how-toを介してユーザーに表示されるデータを記述します-define-functions-in-python-3 [function]を特定のURLに設定します。_template_はDjangoがHTMLを動的に生成する方法です。

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

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

前提条件

DebianまたはUbuntu Linuxサーバーに設定された `+ sudo +`特権を持つ非ルートユーザーアカウント。 これらの前提条件を達成するには、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-8 [Debian 8の初期サーバーセットアップ]またはステップ1〜4を実行します。 Ubuntu 16.04の初期サーバーセットアップチュートリアル。

ステップ1-Pythonとpipをインストールする

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

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

+ grub-pc`の設定を求められたら、 + ENTER`を押してデフォルトを受け入れるか、必要に応じて設定します。

Django Software Foundationは、Python 3の使用を推奨しています。したがって、すべてが更新されたら、次のコマンドを使用してPython 3をインストールできます。

sudo apt-get install python3

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

python3 -V

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

Outputpython

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

sudo apt-get install -y python3-pip

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

pip3 -V

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

Outputpip  from /usr/lib/python3/dist-packages (python )

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

ステップ2-virtualenvのインストール

  • virtualenv *はhttps://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-a-programming-environment-on-an-an-ubuntu-16-04です-server#step-2-%E2%80%94-setting-up-a-virtual-environment [virtual environment]では、含まれている開発スペースにソフトウェアとPythonパッケージをインストールできます。これにより、インストールされたソフトウェアとパッケージがマシンの残りのグローバル環境。 この便利な分離により、競合するパッケージまたはソフトウェアが互いに対話するのを防ぎます。

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

pip3 install virtualenv

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

virtualenv --version

次の出力または同様の出力が表示されます。

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

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

ステップ3-Djangoのインストール

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

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

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

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

仮想環境内でpipを使用してDjangoをインストールします。 プログラミング環境のセットアップと利用に関する詳細なガイダンスと情報については、https://www.digitalocean.com/community/tutorials/how-to-install-python-3-and-set-up-aでこのチュートリアルを確認してください。 -program-environment-on-an-ubuntu-16-04-server [仮想環境のセットアップ]。

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

mkdir
cd

ディレクトリ内で、仮想環境を作成します。 それを呼び出しましょう。

virtualenv

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

. env/bin/activate

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

環境内で、pipを使用してDjangoパッケージをインストールします。 Djangoをインストールすると、Djangoアプリケーションを作成して実行できます。 Djangoの詳細については、https://www.digitalocean.com/community/tutorial_series/django-development [Django Development]のチュートリアルシリーズをご覧ください。

pip install django

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

django-admin --version

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

Output

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

ステップ4-Djangoテストプロジェクトの作成

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

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

まず、該当する場合、サーバーのファイアウォールで使用するポートを開く必要があります。 UFWを使用している場合(https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-16-04#step-seven-%E2%80%94-set -up-a-basic-firewall [初期サーバーセットアップガイド])、次のコマンドでポートを開くことができます。

sudo ufw allow 8000

DigitalOcean Firewallを使用している場合、受信ルールから「+ HTTP +」を選択できます。 https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-cloud-firewalls#creating-new-inbound-rules-fromを読むと、DigitalOcean Firewallの詳細とそれらのルールの作成を読むことができます。 -presets [入門チュートリアルのインバウンドルールセクション]。

プロジェクトを開始する

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

`+ django-apps +`ディレクトリで、次のコマンドを実行します:

django-admin startproject testsite

これで、作成されたプロジェクトファイルを確認できます。 `+ testsite +`ディレクトリに移動し、そのディレクトリの内容をリストして、作成されたファイルを確認します。

cd testsite
ls
Outputmanage.py  testsite

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

次のように `+ less `コマンドを実行すると、ターミナルで ` manage.py +`スクリプトを表示できます。

less manage.py

スクリプトの読み取りが終了したら、「+ q +」を押してファイルの表示を終了します。

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

cd testsite/

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

ls

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

Output__init__.py  settings.py  urls.py  wsgi.py

これらの各ファイルについて見ていきましょう。

  • `+ init 。py +`は、Pythonプロジェクトのエントリポイントとして機能します。

  • `+ settings.py +`はDjangoインストールの設定を記述し、Djangoに利用可能な設定を知らせます。

  • + urls.py +`には、URLを `+ views`にルーティングおよびマッピングする + urlパターン `リストが含まれています。

  • `+ wsgi.py +`には、Webサーバーゲートウェイインターフェースの設定が含まれています。 Webサーバーゲートウェイインターフェース(https://nl.wikipedia.org/wiki/Web_Server_Gateway_Interface[WSGI])は、WebサーバーおよびアプリケーションのデプロイメントのためのPythonプラットフォーム標準です。

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

これで、 `+ runserver +`コマンドを実行して、サーバーを起動し、指定されたホストとポートでWebサイトを表示できます。

サーバーのIPアドレスを、「〜/ test_django_app / testsite / testsite / +」にある「 settings.py 」ファイルの「 ALLOWED_HOSTS +」のリストに追加する必要があります。

Django docsで述べられているように、 `+ ALLOWED_HOSTS +`変数には「このDjangoサイトができるホスト/ドメイン名を表す文字列のリストサーブ。 これは、一見安全なWebサーバー構成の多くでも起こり得るHTTPホストヘッダー攻撃を防ぐためのセキュリティ対策です。

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

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 = ['']
...

+ CTRL + + `+ x `キーを押しながら ` y +`キーを押すと、変更を保存してnanoを終了できます。

これが完了したら、必ず `+ manage.py +`が配置されているディレクトリに戻ってください:

cd ~/django-apps/testsite/

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

python manage.py runserver :8000

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

http://:8000/

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

image:https://assets.digitalocean.com/articles/eng_python/django/django-2-testsite.png [Django Default Page]

これにより、Djangoが適切にインストールされ、テストプロジェクトが正常に動作していることが確認できます。

アプリのテストが完了したら、 + CTRL + + `+ C `を押して ` runserver +`コマンドを停止できます。 これにより、プログラミング環境に戻ります。

Python環境を離れる準備ができたら、 `+ deactivate +`コマンドを実行できます:

deactivate

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

結論

このチュートリアルでは、Ubuntu APTリポジトリを介して利用可能なPython 3の最新バージョンに正常にアップグレードしました。 また、pip3、 + virtualenv、および` + django`もインストールしました。

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