Djangoは、動的なWebサイトとアプリケーションの開発を支援するオープンソースのWebアプリケーションフレームワークです。安全、高速、安定しているため、コーディングの少ない複雑なWebサイトを作成できます。システムにDjangoをインストールする方法はいくつかあります。 Debianリポジトリを使用して、PIPを使用して、またはGitリポジトリからインストールできます。必要に応じて任意の方法を選択できます。 Djangoを使用すると、Python仮想環境でプロジェクトを作成できます。このようにして、単一のシステムで複数のDjango環境を作成できます。
このチュートリアルでは、Debian10にPIPを使用してDjangoWebフレームワークをインストールする方法を学習します。また、Djangoアプリケーションを作成してデータベースに接続する方法も学習します。
- Debian10を実行しているサーバー。
- ルートパスワードはサーバーで構成されています。
開始する前に、システムを最新バージョンに更新してください。次のコマンドを実行することでそれを行うことができます:
apt-get update -y
apt-get upgrade -y
システムが更新されたら、システムを再起動して変更を適用します。
Djangoをインストール
DjangoはPython言語で書かれています。したがって、Djangoをインストールするには、システムにPythonの依存関係をインストールする必要があります。次のコマンドですべてをインストールできます:
apt-get install python3 python3-pip tree -y
すべてのパッケージをインストールした後、次のコマンドを使用して、インストールされているPIPのバージョンを確認できます。
pip3 -V
次の出力が得られるはずです:
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
これで、以下に示すように、PIPコマンドを使用してDjangoのインストールに進むことができます。
pip3 install Django
インストールが完了したら、次のコマンドを使用してDjangoのバージョンを確認します。
django-admin --version
次の出力が表示されます。
3.0.2
この時点で、Djangoがサーバーにインストールされています。これで、次のステップに進むことができます。
Djangoプロジェクトを作成する
それでは、サンプルのDjangoプロジェクトの作成を始めましょう。まず、ディレクトリをDjangoプロジェクトを作成する/optに変更します。
cd /opt
次に、次のコマンドを実行して、Dprojectという新しいDjangoプロジェクトを作成します。
django-admin startproject Dproject
プロジェクトが作成されると、次のコマンドでこのプロジェクトのディレクトリ構造を確認できます。
tree
次の出力が得られるはずです:
. ??? Dproject ??? Dproject ? ??? asgi.py ? ??? __init__.py ? ??? settings.py ? ??? urls.py ? ??? wsgi.py ??? manage.py
次に、ディレクトリをDprojectに変更し、次のコマンドを使用して保留中の変更を移行します。
cd Dproject
python3 manage.py migrate
移行が正常に完了すると、次の出力が表示されます。
Operations 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 auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying sessions.0001_initial... OK
この時点で、新しいDjangoプロジェクトが/optディレクトリ内に作成されています。
Djangoのスーパーユーザーを作成する
次に、Django管理インターフェースにアクセスするためのDjangoのスーパーユーザーを作成する必要があります。次のコマンドで作成できます:
python3 manage.py createsuperuser
以下に示すように、希望するユーザー名、メールアドレス、パスワードを入力してください。
Username (leave blank to use 'root'): admin Email address: [email protected] Password: Password (again): Superuser created successfully.
Djangoサーバーを起動します
デフォルトでは、Djangoはリモートシステムからアクセスできません。したがって、Djangoを構成し、サーバーIPを定義する必要があります。ファイルsettings.pyを編集することでそれを行うことができます。
nano /opt/Dproject/Dproject/settings.py
次の行を変更します:
ALLOWED_HOSTS = ['your-server-ip']
終了したら、ファイルを保存して閉じます。次に、次のコマンドでDjangoサーバーを起動します。
cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000
サーバーが正常に起動すると、次の出力が表示されます。
Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). January 07, 2020 - 13:01:23 Django version 3.0.2, using settings 'Dproject.settings' Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C.
この時点で、Djangoアプリケーションが起動し、ポート8000でリッスンします。それにアクセスするには、Webブラウザーを開き、URL http:// your-server-ip:8000を入力します。次の画面にDjangoアプリケーションが表示されます。
Django管理インターフェースにアクセスするには、Webブラウザーを開き、URL http:// your-server-ip:8000/adminを入力します。 Djangoログインページにリダイレクトされます:
Django管理者のユーザー名とパスワードを入力し、ログをクリックします で ボタン。次の画面にDjango管理インターフェースが表示されます。
MariaDBデータベースコネクタをインストールする
次に、DjangoをMariaDBデータベースに接続するために、MariaDBデータベースコネクタとその他の開発パッケージをインストールする必要があります。次のコマンドを使用して、それらすべてをインストールできます。
apt-get install mariadb-server python3-dev libmariadb-dev libmariadbclient-dev -y
すべてのパッケージがインストールされたら、以下に示すように、PIPコマンドを使用してmysqlclientライブラリをインストールできます。
pip3 install mysqlclient
インストールしたら、次のコマンドを使用してMariaDBシェルにログインします。
mysql
次に、次のコマンドを使用してMariaDBのルートパスワードを設定します。
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpassword");
次に、次のコマンドを使用してDjangoのデータベースを作成します。
MariaDB [(none)]> create database testdb;
次のコマンドを使用して、上記で作成したデータベースを表示できます。
MariaDB [(none)]> show databases;
次の出力が得られるはずです:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | testdb | +--------------------+
次に、特権をフラッシュし、次のコマンドを使用してMariaDBシェルを終了します。
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
MariaDB接続用にDjangoを構成する
次に、DjangoでMariaDBデータベースのクレデンシャルを定義する必要があります。ファイルsettings.pyを編集して定義できます:
nano /opt/Dproject/Dproject/settings.py
次の行を見つけます:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
そして、それらを次の行に置き換えます。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'OPTIONS': { 'read_default_file': '/etc/mysql/mariadb.conf.d/50-client.cnf', }, } }
終了したら、ファイルを保存して閉じます。次に、以下に示すように、MariaDBクライアントクレデンシャルファイルを編集します。
nano /etc/mysql/mariadb.conf.d/50-client.cnf
以下に示すように、MariaDBデータベースのクレデンシャルを定義します。
[client] database = testdb user = root password = newpassword default-character-set = utf8
ファイルを保存して閉じてから、MariaDBサービスを再起動して変更を実装します。
systemctl restart mariadb
次に、ディレクトリをDjangoプロジェクトに変更し、次のコマンドを使用して新しい変更を移行します。
cd /opt/Dproject
python3 manage.py migrate
移行が正常に完了すると、次のステップに進むことができます。
MariaDB接続をテストする
この時点で、DjangoはMariaDBデータベースに接続するように構成されています。それをテストする時が来ました。
これを行うには、次のコマンドでDjangoサーバーを起動します。
cd /opt/Django
python3 manage.py runserver 0.0.0.0:8000
Djangoサーバーが正常に起動すると、次の出力が表示されます。
Watching for file changes with StatReloader Performing system checks... System check identified no issues (0 silenced). January 07, 2020 - 13:30:49 Django version 3.0.2, using settings 'Dproject.settings' Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C.
これで、URL http:// your-server-ip:8000を使用してDjangoアプリケーションにアクセスできます。次の画面にDjangoアプリケーションが表示されます。
テスト後、ターミナルでCTRL + Cを押すことで、Djangoサーバーを任意のタイプで停止できます。
おめでとう!これでDjangoが正常にインストールされ、Debian10サーバー上のMariaDBデータベースに接続されました。これで、Webアプリケーションの開発を開始し、Djangoアプリケーションに移行を適用できます。ご不明な点がございましたら、お気軽にお問い合わせください。