PythonでDjangoを使ってMySQLに接続する方法を現役エンジニアが解説【初心者向け】
初心者向けにPythonでDjangoを使ってMySQLに接続する方法について現役エンジニアが解説しています。Djangoとは、PythonでWebアプリを開発するためのフレームワークで、MySQLはデータベースになります。Djangoのデータベース用のファイルを編集してMySQLに接続します。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
PythonでDjangoを使ってMySQLに接続する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。
Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。
今回は、Pythonに関する内容だね!
どういう内容でしょうか?
PythonでDjangoを使ってMySQLに接続する方法について詳しく説明していくね!
お願いします!
MySQLとは
MySQLは、おそらく世界で最も利用されているデータベースです。オープンソースであるため無料で利用できるのが特徴です。なぜデータベースを用いる必要があるのかというと、以下のようなメリットがあるためです。
- 大容量のデータが管理できる
- 同時にたくさんの人がアクセスできる
- SQLによって高度な検索ができる
Djangoとは
Djangoとは、PythonでWebアプリを開発するためのフレームワークです。
Djangoを用いることで、データベースを用いた高度なWebアプリを比較的簡単に作成できます。
Djangoの使い方
Djangoを使うには、ご自身の環境にDjangoをインストールする必要があります。
インストールにはpipというコマンドを用います。ターミナルを開いて以下のコマンドを入力してください。
pip install django
たったこれだけです。これでDjangoがインストールされました。
次に、実際にプロジェクトを作成していきます。ここでいうプロジェクトとは、「Webアプリ開発に用いるファイル一式をまとめて管理するための仕組み」といったような意味合いです。
それではプロジェクトを作成していきます。まずはcdコマンドを用いてプロジェクトのフォルダを作る場所に移動します。
ここではデスクトップ上にフォルダを作成していきます。2行目が実際にフォルダを作成するコマンドです。プロジェクト名はなんでも構いませんが、念のため英語にしておいた方が無難でしょう。
それでは以下のコマンドを実行してください。
cd Desktop django-admin startproject プロジェクト名
これでプロジェクトのフォルダが作成できるはずです。実際に中身を見てみましょう。
実際に書いてみよう
ではMySQLをDjangoで使うための設定をしていきます。
データベースの設定は、Djangoのプロジェクトの中のsettings.pyというファイルを編集することで可能になります。settings.pyの場所は、プロジェクト名と同名のフォルダのなかにあります。デフォルトでは以下のように書かれているでしょう。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3') } }
これを次のように書き換えます。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': データベース名 'USER': ユーザー名 'PASSWORD': パスワード 'HOST': ホスト名 'PORT': '3306' } }
これでMySQLが使えるようになるはずです。また、MySQL以外にもさまざまなデータベースが存在しますが、基本的な設定はあまり変わりません。
まとめ
この記事では、Djangoを使ってMySQLに接続する方法について解説しました。
Webアプリ開発とデータベースの利用は切っても切り離せないものですので、Webアプリをこれから開発したいと考えている方は、データベースの扱いに慣れていきましょう。
監修してくれたメンター
柴山真沙希(しばやままさき)
大手IT企業などでエンジニアとして2年ほど勤務した後、個人事業主としてプログラミングスクール「エンペサール」を経営。子供から大人まで幅広い層を対象にプログラミングを教えている。 得意言語はPython, HTML, CSSで、機械学習やデータ分析、スクレイピングなどが得意。サッカー観戦や読書が趣味である。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。