ブログに戻る

データベース接続機能を持つDjangoアプリの作成:チュートリアル

データベース接続機能を持つDjangoアプリの作成:チュートリアル

Djangoは、Pythonで構築された無料のオープンソースのWebフレームワークです。2005年に初めて公開されたDjangoは、「迅速な開発とクリーンで実用的な設計」というモットーを取り入れています。Webサーバー上にデプロイされるこのフレームワークは、豊富な機能、セキュリティ、スケーラビリティを備えたWebフロントエンドを迅速に構築できます。

あらゆるWebアプリは、そのコンテンツをデータベースに依存しています。モダンなフレームワークであるDjangoは、多くの標準的なデータベースプログラムをサポートしています。例えば、PostgreSQL, SQLite, MySQLなどです。このガイドでは、DjangoアプリをMySQL上のデータベースに接続する方法を紹介します.

前提条件

このチュートリアルに従うには、Djangoとデータベース接続に進む前に、特定の前提条件を満たす必要があります:

Python 3のインストールと設定

DjangoはPythonで書かれています。Pythonアプリケーションを実行するには、システムにPythonバイナリがインストールされている必要があります。UbuntuにはデフォルトでPythonがインストールされています。ここではPython 3を使用します。ターミナルから次のコマンドを実行します。まず、APT キャッシュを更新し、インストールされているすべてのパッケージをアップグレード(利用可能な場合)します:

Python 3は公式のUbuntuパッケージサーバーから直接利用できます。パッケージ python-is-python3  は、使いやすさのためにpython から python3 へのバイナリソフトリンクを作成します:

次に、インストールが成功したか確認します:

その後、pipが必要です。これは標準のPythonパッケージマネージャーであり、標準ライブラリに含まれていない追加のPythonライブラリの管理を担当します。なお、インストールするのは pip3(Python 3用)です:

最後に、堅牢なプログラミング環境のために、いくつかの追加パッケージが必要です:

MySQLのインストールと設定

このセクションでは、MySQLのインストールと設定について簡単に説明します。デフォルトのUbuntuパッケージリポジトリから入手できます:

インストールが正常に完了すると、MySQLがバックグラウンドで起動します。正常に動作しているか確認します:

Django App 1

MySQLサーバーが起動し、稼働しています。これで、Djangoアプリの開発に安全に移行できます。

Djangoでの作業

  • サンプルDjangoアプリの構築

Webアプリの土台には、Djangoプロジェクトのスケルトンが必要です。これには、堅牢なWebアプリを作成するために必要なすべてのツールとライブラリが含まれています。まず、Djangoアプリ専用のディレクトリを作成します。ディレクトリには、これから構築するアプリに関連する、意味のある名前を付けることをお勧めします。このデモンストレーションでは、これに次の名前を付けます:myDemoApp:

Pythonのvenv ディレクトリ内に仮想環境を作成するためのモジュール。次のコマンドを使用してモジュールをインストールします:APT:

次に、ディレクトリに移動して仮想環境を作成します。わかりやすくするために、環境名を demoapp_env:

次に、仮想環境をアクティベートするために、activate スクリプトを実行します:

Django App 2

次に、この専用の仮想環境内に Django をインストールします。Pip は、いくつかの追加コンポーネントをダウンロードしてインストールします:

Djangoがインストールされ、使用準備が整いました。次の django-admin コマンドを実行して、新しいDjangoプロジェクトを作成します。その後、アプリに適切な名前を付けます:

これにより、必要なプロジェクトファイルとディレクトリが配置されたデモプロジェクトが作成されます:

Django App 3

プロジェクトのスケルトンが完成しました。次に、目的を達成するために適切に設定する必要があります。

  • Djangoプロジェクト設定の編集

プロジェクトのすべての設定は、以下のファイルに保存されています:settings.py. これはDjangoプロジェクトのディレクトリ内にあります。まず、適切なタイムゾーンを設定し、Djangoアプリに接続できるホストをリストすることから始めます。テキストエディタで設定ファイルを開きます:

スクリプトを下にスクロールして、次のエントリを見つけます TIME_ZONE. デモンストレーションとして、タイムゾーンは以下に設定されています America/New_York:

TIME_ZONE

参考までに、次のコマンドを実行すると、Linuxでサポートされているすべてのタイムゾーンが表示されます:

次に、次のエントリまでスクロールします。 ALLOWED_HOSTS。これは、どのマシンがアプリにアクセスできるかを制御します。デモ用として、localhostのみが含まれています。

Django App 4その後、ファイルを保存してエディタを閉じます。次のコマンドで変更を適用します:

python manage次に、ウェブアプリの管理者アカウントを作成する必要があります。このアカウントは、Django管理インターフェースにアクセスするために使用されます。次のコマンドを実行してください:

Django App 5ユーザー名、メールアドレス、パスワードの入力を求められます。これでアプリはデータベースに接続する準備が整いました。

MySQL接続

  • MySQLコネクタと開発ライブラリのインストール

DjangoアプリにMySQLを統合するには、必要なツールを提供する追加のPython 3ライブラリが必要です。データベースコネクタとして、mysqlclient。これは、次のフォークです:MySQLdb.

確実にpython3-devがインストールされていることを確認してください:

また、いくつかの追加のPythonおよびMySQLのヘッダーとライブラリも必要です:

インストールが完了したら、pipを使用してPythonモジュールmysqlclientをインストールします。無視しても構わないエラーメッセージが表示されることがあります。

  • 専用データベースの設定

次のステップでは、Djangoアプリ用の専用データベースとデータベースユーザーを設定します。MySQLシェルをroot ユーザーとして起動します:

現在利用可能なすべてのデータベースを確認するには、次のクエリを実行します。

Djangoアプリ用の専用データベースを作成しましょう。プロジェクト名と一致する適切な名前を付けてください。

次に、作成されたことを確認します。

Django App 6次に、専用のMySQLユーザーを作成します。このユーザーをデータベースの所有者として設定します。Djangoアプリは、このユーザーの資格情報を使用してMySQLデータベースを操作します。

ユーザー demoapp_user にすべての権限を付与します。対象データベース: demoapp_data:

権限の変更を反映するには、MySQLの権限テーブルを再読み込みします:

Django App 7これで、データベースをDjangoアプリに接続する準備が整いました。

  • データベースをDjangoアプリに接続する

最後に、データストレージにデータベースを使用するようにDjangoアプリを設定します。設定スクリプトを開きます。settings.py:

次のエントリまでスクロールダウンし、DATABASES、以下のコードを入力します。

Django App 8ファイルを保存してエディタを閉じます。次のステップは、先ほどコードで説明した設定ファイルを設定することです。sudo を使用して、指定された場所にあるテキストファイルを開きます:

この設定ファイルには、Django専用データベースとMySQLサーバーで作成したユーザーに関する情報が含まれます。ファイルの末尾に次の行を追加してください:

default-character-set変更を反映させるには、MySQLサーバーを再起動する必要があります:

  • MySQL接続のテスト

MySQL接続が正常に機能しているか確認する時が来ました。Djangoサーバーが問題なく動作すれば、接続は正常です。そうでない場合は、何らかの問題があります。まず、Djangoプロジェクトに加えたすべての変更を適用します:

python manage次に、以下のプロジェクトディレクトリに移動し、Djangoサーバーを起動します:

python manage.py runserver次に、ウェブブラウザからサーバーにアクセスしてみます:

server_ip_address

やりました!Djangoの成功ページに無事アクセスできました。これにより、MySQLの接続が正常に動作していることも確認できます。作業が終了したら、安全に仮想環境を終了できます:

最後に

このガイドでは、DjangoとMySQLを組み合わせる基本を学びました。Djangoアプリを作成し、それをMySQLデータベースに接続する方法を紹介しました。その仕組みは、Djangoの設定ファイルである settings.py にあります。また、次のような基本的な設定も変更しました。 ALLOWED_HOSTSTIME_ZONE などです。Djangoは非常に柔軟です。MySQL以外にも、PostgreSQLなどの他のSQLサーバーや、Nginxなどのサーバーエンジンもサポートしています。

Djangoのインストール、設定、および操作に関するベストプラクティスについてのガイドもご覧ください:

快適なコンピューティングを!

author

Hark Labs

著者 · CloudSigma

Preslav DobrevはCloudSigmaのクリエイティブデザイナーであり、従来型および革新的なマーケティングチャネルを活用した一貫性のあるビジネスアイデンティティに注力しています。彼は芸術的なビジョンと戦略的マーケティングを融合させ、インパクトのあるブランドナラティブを生み出すことに長けています。

コメント

コメントはまだありません。最初のコメントを投稿しましょう。