GNU/Linux >> Linux の 問題 >  >> Debian

Debian10にDjangoWebアプリケーションフレームワークをインストールする方法

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アプリケーション

この時点で、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アプリケーションに移行を適用できます。ご不明な点がございましたら、お気軽にお問い合わせください。


Debian
  1. Debian9LinuxにDjangoをインストールする方法

  2. Debian10にコックピットWebコンソールをインストールする方法

  3. CentOS8にDjangoPythonFrameworkをインストールする方法

  1. Debian10にIonicFrameworkをインストールする方法

  2. Debian11にDjangoFrameworkをインストールする方法

  3. Debian9にIcinga2とIcingaWeb2をインストールする方法

  1. Debian11にGoogleEarthアプリケーションをインストールする方法

  2. Debian10にTeamViewerをインストールする方法

  3. Debian11BullseyeにFlatpakをインストールする方法