夏休みの日記 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の準備は完了です。
MySQLとDjangoの連携
djangoはデフォルトでsqliteと連携しているため、djangoとmysqlが連携するためには、settings.pyを編集する必要があります。
以下の部分を編集してください。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '[データベース名]', 'USER': '[ユーザ名]', 'PASSWORD': '[パスワード]', 'HOST': '', 'PORT': '', } }
HOST
, PORT
はローカルの場合設定しなくても大丈夫です。
MySQLのサーバーを起動後に以下のコマンドを実行します。
python manage.py migrate
するとデータベース内にテーブルが用意されて連携が完了しました。
終わりに
次はtemplate.htmlを作って表示させます。