ウェブサイト検索

CentOS/Debian の仮想環境を使用した Django Web フレームワークのインストールと構成 - パート 1


「この記事は Django の最新バージョン (2016 年 5 月) で改訂および更新されています」

約 20 年前、ワールド ワイド ウェブがまだ初期段階にあったとき、個人用またはビジネス用の Web サイトを持つことはほとんど珍しい贅沢でした。その後、いくつかの Web テクノロジーが開発され、サーバー側プログラムとデータベースの組み合わせによって提供される動的コンテンツが導入されたため、企業はもはや静的な Web サイトに満足できなくなりました。

このようにして、Web アプリケーション、つまり Web サーバー上で実行され、Web ブラウザを通じてアクセスできる完全な意味でのプログラムが現実になりました。

開発をより簡単かつ効率的に行うために、Web フレームワークはプログラマーがアプリケーションを作成する作業を支援するように設計されました。つまり、Web フレームワークは、いくつかの例を挙げると、ユーザー セッション管理、データベースとの対話、ビジネス ロジックを表示ロジックから分離するという優れたプラクティスの処理など、開発プロセスにおける一般的なコア機能を処理します。

この 3 回の Django シリーズ では、Python ベースの人気のある Web フレームワークである Django について紹介します。そのため、このプログラミング言語に少なくとも少しは慣れていることが推奨されますが、経験がほとんどない、またはまったくない場合は、基本についても説明します。

CentOS および Debian サーバーへの Django のインストール

Django は Debian (v1.7.7: 延長サポートは2015 年 12 月に終了します) と Fedora EPEL (v1.7.7) の両方からインストールできますが、 >v1.6.11: 延長サポートは 2015 年 4 月 にリポジトリで廃止されました。利用可能なバージョンは最新の安定した LTS (長期サポート) リリース (v1.8.13 ) ではありません。 、2016 年 5 月現在)。

このチュートリアルでは、少なくとも 2018 年 4 月まで延長サポートが保証されているため、Django v1.8.13 をインストールする方法を説明します。

Django をインストールする推奨方法は、Python パッケージを管理するための一般的なツールである pip を使用することです。また、分離された Python 環境を作成し、異なるバージョンのソフトウェア依存関係を必要とするプロジェクト間の競合を回避するために、仮想環境の使用を強くお勧めします。

仮想 Python 環境の作成と管理に使用されるツールはvirtualenv と呼ばれます。

インストールを実行するには、次の手順に従います。

1.Fedora ベースのディストリビューション (Fedora 自体を除く) の場合、最初に EPEL リポジトリを有効にします。

yum update && yum install epel-release

2. pipvirtualenv をインストールします。

Fedora ベースのディストリビューション:

yum install python-pip python-virtualenv
OR 
dnf install python-pip python-virtualenv
Debian とその派生製品:
aptitude update && aptitude install python-pip virtualenv

3. 初期プロジェクトを保存するディレクトリを作成します。

mkdir ~/myfirstdjangoenv
cd ~/myfirstdjangoenv

4. 仮想環境を作成してアクティブ化します。

virtualenv myfirstdjangoenv

上記のコマンドは、~/myfirstdjangoenv に多数のファイルとサブディレクトリを作成し、基本的に現在の作業ディレクトリ内に Pythonpip のローカル コピーをインストールします。 。次に、作成したばかりの仮想環境をアクティブ化する必要があります。

source myfirstdjangoenv/bin/activate

5. 最後のコマンドの後にコマンド プロンプトがどのように変化するかに注目してください。 Django をインストールします。

以下のスクリーンショットはこのチュートリアルの前のバージョンで撮影されたものですが、Django 1.8.13 をインストールするときの予想される出力は同じであることに注意してください。 ):


pip install Django==1.8.13

現在の作業ディレクトリから Python シェルを起動することで、Django のバージョンを確認できます。

python
>>> import django
>>> print(django.get_version())

(繰り返しますが、現在の Django バージョンを確認すると、上記のコマンドは 1.8.13 を返すはずです)。

Python プロンプトを終了するには、次のように入力します。

>>> exit() 

そしてEnterを押します。次に、仮想環境をオフにします。

deactivate

仮想環境が非アクティブ化されたままである間は、Django は利用できないことに注意してください。

Django で最初のプロジェクトを作成する方法

前に作成した仮想環境内にプロジェクトを作成するには、それをアクティブ化する必要があります。

source myfirstdjangoenv/bin/activate

次に、フレームワークはプロジェクトを保存するためのディレクトリ構造全体を作成します。これを行うには、実行する必要があります。

django-admin startproject myfirstdjangoproject

上記のコマンドは、現在の作業ディレクトリ内に myfirstdjangoproject という名前のディレクトリを作成します。

ここには、manage.py という名前のファイル (後でプロジェクトを管理するのに役立つユーティリティ) と別のサブディレクトリ (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject) があります。この最後のサブディレクトリは、プロジェクト ファイルのコンテナとして機能します。

実際の Web アプリケーションの作成を開始するために Python をいくつか確認した後、残りのファイルは実際に意味をなすようになりますが、プロジェクト コンテナー ディレクトリ内にある主要なファイルをメモしておくことは価値があり、よく行います。

  1. myfirstdjangoproject/__init__.py: この空のファイルは、このディレクトリを Python パッケージと見なす必要があることを Python に伝えます。
  2. myfirstdjangoproject/settings.py: この Django プロジェクトの特定の設定。
  3. myfirstdjangoproject/urls.py: Django を利用したサイトの TOC (目次)。
  4. myfirstdjangoproject/wsgi.py: プロジェクトを提供するための WSGI 互換 Web サーバーのエントリ ポイント。
ls 
ls -l myfirstdjangoproject
ls -l myfirstdjangoproject/myfirstdjangoproject

さらに、Django には、開発中にアプリケーションをテストするために使用できる軽量の組み込み Web サーバー (Python SimpleHTTP に似た Python で書かれています。他には何があるでしょうか?) が備わっています。この特定の段階で Web サーバーを設定するタスクに取り組む必要がなくなります。

ただし、これは実稼働環境には適しておらず、開発のみに適していることを知っておく必要があります。新しく作成したプロジェクトを起動するには、現在の作業ディレクトリをプロジェクトのコンテナ ディレクトリ (~/myfirstdjangoenv/myfirstdjangoproject) に変更して、次のコマンドを実行します。

python manage.py runserver 0.0.0.0:8000

次のエラーが発生した場合:

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

それが言うことを実行してください:

python manage.py migrate

そしてサーバーを再度起動します。

python manage.py runserver 0.0.0.0:8000

移行の概念については、このシリーズの次の記事で説明するので、当面はエラー メッセージを無視してかまいません。

いずれの場合も、組み込み Web サーバーがリッスンするデフォルトのポートを変更できます。リッスンするネットワーク インターフェイスとして 0.0.0.0 を使用すると、同じネットワーク内の他のコンピュータがプロジェクト ユーザー インターフェイスにアクセスできるようになります (代わりに 127.0.0.1 を使用した場合、 UI にはローカルホストからのみアクセスできます)。

ポートを選択した別のポートに変更することもできますが、そのポートを通過するトラフィックがファイアウォールを通過できることを確認する必要もあります。

firewall-cmd --add-port=8000/tcp
firewall-cmd --permanent --add-port=8000/tcp

もちろん、軽量 Web サーバーの起動時に別のポートを使用することを選択した場合は、許可されたポートを更新する必要があることは言うまでもありません。

ターミナルに次の出力が表示されるはずです。

python manage.py runserver 0.0.0.0:8000

この時点で、お気に入りの Web ブラウザーを開き、Django をインストールしたマシンの IP アドレスに続いてポート番号に移動します。私の場合、IP が 192.168.0.25 でポート 8000 をリッスンするDebian Jessie ボックスです。

http://192.168.0.25:8000

プロジェクトの初期セットアップを完了できたのは素晴らしいことですが、上記のメッセージに示されているように、やるべきことはまだたくさん残っています。

まとめ

このガイドでは、Python をベースにした多用途のオープンソース Web フレームワークであるDjango の仮想環境をインストールして構成する方法を説明しました。

あなたがアプリケーション開発者であるかシステム管理者であるかに関係なく、この記事とこのシリーズの残りの部分をブックマークしておくとよいでしょう。おそらく、いつかは日常業務でそのようなツールの必要性を検討する必要が生じるからです。

このシリーズの次の記事では、これまでに達成したことを基にして、Django と Python を使用してシンプルでありながら機能的な Web アプリケーションを作成する方法について説明します。

いつものように、この記事に関するご質問や改善のための提案がございましたら、お気軽にお知らせください。お返事おまちしております!