[ Django](https://www.djangoproject.com/)は、動的なWebサイトおよびアプリケーションを開発するためのフル機能のPythonWebフレームワークです。 Djangoを使用すると、Python Webアプリケーションをすばやく作成し、フレームワークに依存して重い作業を完了することができます。
このチュートリアルでは、Ubuntu18.04サーバーでDjangoを起動して実行します。インストールが完了したら、サイトのベースとして新しいプロジェクトを開始します。
このチュートリアルを完了するには、 sudo
コマンドを使用できる非rootアカウントを持つUbuntu ** server が必要であり、ファイアウォールがオンになっています。サーバーをお持ちでない方は[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には無料**のTencent Cloud [Developer Lab](https://cloud.tencent.com/developer/labs?from=10680)を使って実験し、[サーバーを購入]( https://cloud.tencent.com/product/cvm?from=10680)。
ニーズと開発環境の構成方法に応じて、Djangoをインストールする方法は複数あります。それらにはさまざまな利点があり、1つの方法が他の方法よりも特定の状況に適している場合があります。
いくつかの異なる方法が含まれます:
apt
パッケージマネージャーでインストールできるDjangoパッケージが含まれています。これは単純ですが、他のいくつかの方法ほど柔軟ではありません。さらに、リポジトリに含まれるバージョンは、プロジェクトで利用可能な公式バージョンよりも遅れる場合があります。venv
や virtualenv
などのツールを使用して、プロジェクトの自己完結型環境を作成できます。仮想環境を使用すると、大規模なシステムや、他の各プロジェクトのカスタマイズやパッケージに影響を与えることなく、プロジェクトディレクトリにDjangoをインストールできます。これは通常、Djangoを使用するための最も実用的で推奨される方法です。開始する前に、Ubuntu18.04サーバーでsudo権限を持つ非rootユーザーが必要です。
Ubuntuリポジトリを使用してDjangoをインストールする場合、プロセスは非常に簡単です。
まず、 apt
コマンドを使用してローカルパッケージインデックスを更新します。
sudo apt update
次に、インストールされているPythonのバージョンを確認します。デフォルトでは、18.04にはPython 3.6が付属しています。次のように入力して、確認できます。
python3 -V
次のような出力が表示されます。
Python 3.6.5
次に、Djangoをインストールします。
sudo apt install python3-django
次のように入力して、インストールが成功したかどうかをテストできます。
django-admin --version
1.11.11
これは、ソフトウェアが正常にインストールされたことを意味します。
システムにDjangoをインストールする最も柔軟な方法は、仮想環境です。標準のPython3ライブラリの一部である venv
モジュールを使用して作成する仮想環境にDjangoをインストールする方法を示します。このツールを使用すると、システムの他の部分に影響を与えることなく、仮想Python環境を作成し、Pythonパッケージをインストールできます。したがって、他のプロジェクトの要件と競合するかどうかに関係なく、各プロジェクトに基づいてPythonパッケージを選択できます。
ローカルパッケージインデックスを更新することから始めましょう:
sudo apt update
インストールされているPythonのバージョンを確認します。
python3 -V
Python 3.6.5
次に、Ubuntuリポジトリから pip
をインストールしましょう。
sudo apt install python3-pip
pip
がインストールされると、それを使用して venv
パッケージをインストールできます。
sudo apt install python3-venv
これで、新しいプロジェクトを開始するたびに、そのプロジェクトの仮想環境を作成できます。まず、新しいプロジェクトディレクトリを作成して移動します。
mkdir ~/newproject
cd ~/newproject
次に、Pythonバージョンと互換性のある python
コマンドを使用して、プロジェクトディレクトリに仮想環境を作成します。仮想環境を my_env
と呼びますが、わかりやすい名前を付ける必要があります。
python3.6-m venv my_env
これにより、スタンドアロンバージョンのPythonと pip
がプロジェクトディレクトリのスタンドアロンディレクトリ構造にインストールされます。インストールされるパッケージのファイル階層を保持するディレクトリが、選択した名前で作成されます。
パッケージを隔離された環境にインストールするには、次のコマンドを入力してパッケージをアクティブ化する必要があります。
source my_env/bin/activate
プロンプトは、仮想環境にいることを反映するように変更されます。 (my_env)username @ hostname:〜/ newproject $
のように見えます。
新しい環境では、 pip
を使用してDjangoをインストールできます。 Pythonのバージョンに関係なく、 pip
は仮想環境で pip
を呼び出す必要があります。また、ローカルにインストールしているため、「sudo」を使用する必要がないことにも注意してください。
pip install django
次のように入力して、インストールを確認できます。
django-admin --version
2.1
お使いのバージョンは、ここに表示されているバージョンと異なる場合があることに注意してください。
仮想環境を離れるには、システムのどこからでもコマンド deactivate
を発行する必要があります。
deactivate
プロンプトは従来の表示に戻るはずです。プロジェクトで再度作業する場合は、プロジェクトディレクトリに戻り、以下をアクティブ化して、仮想環境を再アクティブ化してください。
cd ~/newproject
source my_env/bin/activate
Djangoの開発バージョンが必要な場合は、GitリポジトリからDjangoをダウンロードしてインストールできます。仮想環境からこれを実行しましょう。
まず、ローカルパッケージインデックスを更新しましょう。
sudo apt update
インストールされているPythonのバージョンを確認します。
python3 -V
Python 3.6.5
次に、 pip
が公式リポジトリからインストールされます。
sudo apt install python3-pip
venv
パッケージをインストールして、仮想環境を作成します。
sudo apt install python3-venv
次のステップは、Djangoリポジトリのクローンを作成することです。リリース間で、このリポジトリには、おそらく安定性を犠牲にして、より新しい機能とバグ修正が含まれる予定です。次のコマンドを入力して、リポジトリをホームディレクトリの 〜/ django-dev
ディレクトリに複製できます。
git clone git://github.com/django/django ~/django-dev
このディレクトリに切り替えます。
cd ~/django-dev
インストールされているPythonバージョンと互換性のある python
コマンドを使用して仮想環境を作成します。
python3.6-m venv my_env
それをアクティブにします:
source my_env/bin/activate
次に、インストールリポジトリ pip
を使用できます。 -e
オプションは、バージョンコントロールからインストールするときに必要な「編集可能」モードでインストールされます。
pip install -e ~/django-dev
次のように入力すると、インストールが成功したことを確認できます。
django-admin --version
2.2. dev20180802155335
同様に、表示されるバージョンは、ここに表示されているバージョンと一致しない場合があります。
これで、仮想環境に最新バージョンのDjangoがインストールされました。
Djangoをインストールしたら、プロジェクトのビルドを開始できます。仮想環境を使用して、開発サーバーでプロジェクトを作成およびテストする方法について説明します。
まず、プロジェクトのディレクトリを作成し、変更を加えます。
mkdir ~/django-test
cd ~/django-test
次に、仮想環境を作成します。
python3.6-m venv my_env
アクティベーション環境:
source my_env/bin/activate
Djangoをインストールします。
pip install django
プロジェクトをビルドするには、 startproject
コマンドで django-admin
を使用できます。プロジェクトに「djangoproject」という名前を付けましたが、別の名前に置き換えることができます。 startproject
は、現在の作業ディレクトリに次のディレクトリを作成します。
manage.py
を使用して、さまざまなDjango固有のタスクを管理できます。ただし、ネストされたディレクトリが多すぎるのを避けるために、管理スクリプトと内部ディレクトリを* current *ディレクトリに配置するようにDjangoに指示しましょう(エンドポイントに注意してください)。
django-admin startproject djangoproject .
データベースを移行するには(この例ではSQLiteがデフォルトで使用されます)、 manage.py
で migrate
コマンドを使用しましょう。移行により、Djangoモデルに加えた変更がデータベーススキーマに適用されます。
データベースを移行するには、次のように入力します。
python manage.py migrate
次の出力が表示されます。
OutputOperations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying sessions.0001_initial... OK
最後に、Djano管理インターフェイスを使用できるように管理ユーザーを作成しましょう。 createsuperuser
コマンドでこれを行いましょう:
python manage.py createsuperuser
ユーザー名、メールアドレス、パスワードの入力を求められます。
アプリケーションを正常にテストするには、Django設定でディレクティブを変更する必要があります。
次のコマンドを入力して、設定ファイルを開きます。
nano ~/django-test/djangoproject/settings.py
内部で、 ALLOWED_HOSTS
命令を見つけます。これは、Djangoインスタンスへの接続に使用できるアドレスまたはドメイン名のホワイトリストを定義します。このリストにない** host **ヘッダーを持つ着信要求は、例外を発生させます。 Djangoでは、特定の種類のセキュリティホールを防ぐために設定する必要があります。
角括弧内に、Djangoサーバーに関連付けられているIPアドレスまたはドメイン名をリストします。各項目は、コンマで区切られた個々のエントリを使用して、引用符でリストする必要があります。ドメイン全体とサブドメインのリクエストが必要な場合は、エントリの先頭にピリオドを追加してください。
...
ALLOWED_HOSTS =['your_server_ip_or_domain','your_second_ip_or_domain',...]
終了したら、ファイルを保存してエディターを終了します。
ユーザーができたら、Django開発サーバーを起動して、新しいDjangoプロジェクトがどのように見えるかを確認できます。開発目的でのみ使用してください。デプロイする準備ができたら、Djangoのデプロイメントチュートリアルに注意深く従ってください。
サーバーの開発を試みる前に、必ずファイアウォールの対応するポートを開いてください。サーバーの初期設定チュートリアルに従ってUFWを使用する場合は、次のように入力してポート 8000
を開くことができます。
sudo ufw allow 8000
開発サーバーを起動します。
python manage.py runserver your_server_ip:8000
:8000
で終わるサーバーのIPアドレスにアクセスしてから、Webブラウザーにアクセスします。
http://your_server_ip:8000
次のようなものが表示されます。
管理インターフェイスにアクセスするには、URLの末尾に / admin /
を追加します。
http://your_server_ip:8000/admin/
これにより、ログイン画面が表示されます。
作成した管理者のユーザー名とパスワードを入力すると、サイトのメインの管理者セクションにアクセスできるようになります。
デフォルトのサイトを表示した後、ターミナルで「CTRL-C」と入力して開発サーバーを停止できます。
作成するDjangoプロジェクトは、より完全なサイトを設計するための構造的基盤を提供します。アプリケーションとカスタムサイトを構築する方法の詳細については、Djangoのドキュメントを確認してください。
これで、Ubuntu 18.04サーバーにDjangoをインストールして、強力なWebアプリケーションを作成するために必要な主要なツールを提供する必要があります。また、新しいプロジェクトを開始して開発者サーバーを開始する方法も知っておく必要があります。 Djangoのような完全なWebフレームワークを利用すると、開発を迅速化でき、アプリケーションの固有の側面のみに集中できます。
Django Web Framework関連のチュートリアルのインストールの詳細については、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。
参照:「Ubuntu18.04にDjangoWebフレームワークをインストールする方法」
Recommended Posts