夏休みの日記 8/25

夏休みのoutput

大学の文化祭用にpix2pixを使った簡単なwebアプリを作ろうと思い、まずはwebアプリのローカル環境を整えました。

OS: Windows 10
MySQL: 8.0.17
Python: 3.7.3

仮想環境を作る

まずは、venvを使って仮想環境を作ります。

python -m venv [new env name]

その後、仮想環境を立ち上げます。

.\[new env name]\Scripts\activate

必要なパッケージのインストール

pip install [package]

で必要なパッケージをインストールします。今回は必要最小限のDjango, PyMySQLをインストールしました。注意事項として、現在(2019/08/25)ではDjango2.2にPyMySQLの最新バージョンが対応していないということで、Django2.1をインストールしました。(実際に2.2でやってみたところ、エラーがでました)

pip install django==2.1

Djangoプロジェクトを作る

以下のコマンドを実行すると、Djangoのプロジェクトを作れます。

django-admin startproject mysite

このプロジェクトが実際に動くかどうかは以下のコマンドを実行してみるとわかります。

python manage.py runserver

localhost:8000にアクセスしてみるとロケットが確認できると思います。

MySQLのインストール

公式サイトへアクセスしてインストーラをダウンロードします。インストーラでやることはここでは省きます。

もしコマンドプロンプト上でmysqlを使いたい場合はPathを通す必要があります。

mysql --version

上記のコマンドを実行してきちんとバージョンが表示されたらpathは通っています。

djangoとの連携に備えて新しくdatabaseを作っておきます。

まずはmysqlに設定したユーザ名とパスワードでログインします。

mysql -u [ユーザ名] -p

するとパスワードを聞かれるので、パスワードが通るとログインできます。

データベースを作っていきます。

mysql> show databases; // databaseの表示
mysql> create database [データベース名];

これでMySQLの準備は完了です。

MySQLDjangoの連携

djangoはデフォルトでsqliteと連携しているため、djangomysqlが連携するためには、settings.pyを編集する必要があります。

以下の部分を編集してください。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '[データベース名]',
        'USER': '[ユーザ名]',
        'PASSWORD': '[パスワード]',
        'HOST': '',
        'PORT': '',
    }
}

HOST, PORTはローカルの場合設定しなくても大丈夫です。

MySQLのサーバーを起動後に以下のコマンドを実行します。

python manage.py migrate

するとデータベース内にテーブルが用意されて連携が完了しました。

終わりに

次はtemplate.htmlを作って表示させます。