Ubuntu16.04でDjangoをインストールして開発環境をセットアップする方法
序章
Djangoは、Pythonで記述された無料のオープンソースWebフレームワークであり、モデルテンプレートビュー(MTV)ソフトウェアアーキテクチャパターンに準拠しています。 MTVパターンは、 model–view–controller(MVC)パターンに対するDjangoの見解です。 Django Software Foundationによると、 model はデータの唯一の決定的なソースであり、 view は、Pythonコールバック
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
フラグは、アップグレードプロセス中のプロンプトに対して「はい」と答えます。 プロンプトごとにアップグレードを停止する場合は、フラグを削除します。
- sudo apt-get update && sudo apt-get -y upgrade
構成を求められたら grub-pc
、を押すことができます ENTER
デフォルトを受け入れるか、必要に応じて構成します。
Django SoftwareFoundationはPython3を使用することを推奨しているため、すべてが更新されたら、次のコマンドを使用してPython3をインストールできます。
- sudo apt-get install python3
Python 3が正常にインストールされたことを確認するには、python3コマンドを使用してバージョンチェックを実行します。
- python3 -V
結果の出力は次のようになります。
Outputpython 3.5.2
Python 3がインストールされたので、PythonのパッケージリポジトリであるPyPiからパッケージをインストールするには、pipも必要になります。
- sudo apt-get install -y python3-pip
pipが正常にインストールされたことを確認するには、次のコマンドを実行します。
- pip3 -V
次のような出力が表示されます。
Outputpip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
pipがインストールされたので、Python環境に必要な他のパッケージをすばやくインストールできます。
ステップ2—virtualenvをインストールします
virtualenv は、仮想環境であり、含まれている開発スペースにソフトウェアとPythonパッケージをインストールできます。これにより、インストールされたソフトウェアとパッケージがマシンの他のグローバル環境から分離されます。 この便利な分離により、競合するパッケージやソフトウェアが相互に作用するのを防ぎます。
virtualenvをインストールするには、以下に示すように、pip3コマンドを使用します。
- pip3 install virtualenv
インストールしたら、バージョンチェックを実行して、インストールが正常に完了したことを確認します。
- virtualenv --version
次の出力、または同様のものが表示されるはずです。
Outputvirtualenv 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または任意の別の名前のディレクトリを作成します。 次に、ディレクトリに移動します。
- mkdir django-apps
- cd django-apps
django-apps ディレクトリ内で、仮想環境を作成します。 それをenvと呼びましょう。
- virtualenv env
次に、次のコマンドを使用して仮想環境をアクティブ化します。
- . env/bin/activate
プレフィックスが(env)に変更されると、アクティブになっていることがわかります。これは、現在のディレクトリに応じて、次のようになります。
-
環境内で、pipを使用してDjangoパッケージをインストールします。 Djangoをインストールすると、Djangoアプリケーションを作成して実行できます。 Djangoの詳細については、 DjangoDevelopmentに関するチュートリアルシリーズをお読みください。
- pip install django
インストールしたら、バージョンチェックを実行してDjangoのインストールを確認します。
- django-admin --version
これ、または同様のものが結果の出力になります。
Output2.2.12
サーバーにDjangoがインストールされたら、テストプロジェクトの作成に進み、すべてが正しく機能していることを確認できます。
ステップ4—Djangoテストプロジェクトを作成する
Djangoのインストールをテストするために、スケルトンWebアプリケーションを作成します。
ファイアウォールルールの設定
まず、該当する場合は、サーバーのファイアウォールで使用するポートを開く必要があります。 UFWを使用している場合(初期サーバーセットアップガイドで詳しく説明されています)、次のコマンドでポートを開くことができます。
- sudo ufw allow 8000
DigitalOceanファイアウォールを使用している場合は、 HTTP
インバウンドルールから。 DigitalOceanファイアウォールとそのルールの作成について詳しくは、入門チュートリアルのインバウンドルールのセクションをご覧ください。
プロジェクトの開始
これで、を使用してアプリケーションを生成できます django-admin
、Pythonの管理タスク用のコマンドラインユーティリティ。 次に、 startproject
テストWebサイトのプロジェクトディレクトリ構造を作成するコマンド。
にいる間 django-apps
ディレクトリで、次のコマンドを実行します。
- django-admin startproject testsite
注:実行中 django-admin startproject <projectname>
コマンドは、プロジェクトディレクトリとプロジェクトパッケージの両方に名前を付けます <projectname>
コマンドが実行されたディレクトリにプロジェクトを作成します。 オプションの場合 <destination>
パラメータが指定されている場合、Djangoは指定された宛先ディレクトリをプロジェクトディレクトリとして使用し、作成します manage.py
そしてその中のプロジェクトパッケージ。
これで、作成されたばかりのプロジェクトファイルを確認できます。 に移動します testsite
次に、ディレクトリにそのディレクトリの内容を一覧表示して、作成されたファイルを確認します。
- cd testsite
- ls
Outputmanage.py testsite
このディレクトリに次の名前のファイルが含まれていることを示す出力が表示されます。 manage.py
とという名前のフォルダ testsite
. The manage.py
ファイルはに似ています django-admin
プロジェクトのパッケージを sys.path
. これはまた設定します DJANGO_SETTINGS_MODULE
プロジェクトを指す環境変数 settings.py
ファイル。
あなたは見ることができます manage.py
を実行して、ターミナルでスクリプトを作成します less
そのようなコマンド:
- 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
が含まれています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
、次のコマンドを実行するだけです。
- nano ~/django-apps/testsite/testsite/settings.py
コマンドを実行したら、ドキュメントの[許可されたホスト]セクションに移動し、一重引用符または二重引用符で囲まれた角かっこ内にサーバーのIPアドレスを追加します。
"""
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
位置しています:
- cd ~/django-apps/testsite/
次に、your-server-ipテキストをサーバーのIPに置き換えて次のコマンドを実行します。
- python manage.py runserver your-server-ip:8000
最後に、以下のリンクに移動して、スケルトンWebサイトがどのように表示されるかを確認し、強調表示されたテキストをサーバーの実際のIPに置き換えます。
http:/
ページが読み込まれると、次のようなWebページが表示されます。
これにより、Djangoが正しくインストールされ、テストプロジェクトが正しく機能していることが確認されます。
アプリのテストが終了したら、を押すことができます CTRL
+ C
停止するには runserver
指図。 これにより、プログラミング環境に戻ります。
Python環境を離れる準備ができたら、 deactivate
指図:
- deactivate
プログラミング環境を非アクティブ化すると、ターミナルコマンドプロンプトに戻ります。
結論
このチュートリアルでは、UbuntuAPTリポジトリから入手できる最新バージョンのPython3に正常にアップグレードしました。 pip3もインストールしました。 virtualenv
、 と django
.
これで、DjangoWebアプリケーションの構築を開始するために必要なツールが手に入りました。