前回簡単なアプリケーションの立ち上げとCSSファイルを読み込ませるところまでできました。今回はmysqlの設定やsettings.pyの細かな設定とUserModelの作成を行っていきます。
MySqlの作成
MYSQLの設定は紹介では省きます。
My SQLの設定をも行いたい人はこちらのサイトが分かりやすくておすすめです。
https://style.potepan.com/articles/18698.html
https://www.dbonline.jp/mysql/user/index1.html
Settings.pyの編集
MySQLのユーザーとパスワード、データベースを作り終わったら、djangoのプロジェクトフォルダの中にあるsettings.py を開いて色々編集していきます。
import environ #environを使用することでPASSWORDなどの機密情報を秘匿化できる
env= environ.Env()
env.read_env('.env')#これで.envファイルを読み込むことができる。
SECRET_KEY = env('SECRET_KEY')
ALLOWED_HOSTS = ['*']#やっておくとGAEにデプロイする時が楽になる。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'アプリ名',
]
”””
省略
”””
import pymysql #djangoでmysqlを使うのには必須
pymysql.install_as_MySQLdb()
DATABASES = {
'default': {
'ENGINE': os.environ['DB_ENGINE'],
'NAME': os.environ['DB_NAME'],
'USER': os.environ['DB_USER'],
'PASSWORD':os.environ['DB_PASSWORD'] ,
'HOST': os.environ['LOCAL'],
}}
"""
省略
"""
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Japan'
機密情報をgitに公開すると一生残るので.envファイルを作成してそこから読み取るようにします。.envのみのファイル名だとはGitにプロジェクトをあげられないので機密情報を見られたと言った大ぽかをやらなくてすみますから必ず作ることをお勧めします。
pip command でインストールができますのでやって見てください
$pip install environ
忘れないうちにmanage.pyがあるところに.envファイルを作成していきます。
djangoには不正にアプリが使用されないようにシークレットキーが設定されており、このコードもサービスの機密情報なため.envファイル内に記載します。
SECRET_KEY= 26行目の’=’の後に記されているコード
DB_ENGINE=django.db.backends.mysql
DB_NAME=DATABASE・NAME
DB_USER=DATABASE・USER名 もしくは root
DB_PASSWORD=USERのパスワードもしくは rootのパスワード
LOCAL=127.0.0.1
これで変更がない限り安全に接続できます。 DB_ENGINE=django.db.backends.mysql でdjangoでmysqlを使用しますよとの指示が行われる。ちなみにPostgre.SQLの使用する場合はこんな感じになります。
DB_ENGINE=django.db.backends.postgresql_psycopg2
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'アプリ名',#追加
]
INSTALLED_APPSにアプリケーションフォルダの名前を入力しないと作っても反応しないということはあるので入れてください。
LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Japan'
これで一通りの基礎の基礎は完成しました。あとは自由にプログラムを組んでオリジナルなウェブサイトが作れるようになりました。
こちらでは今後会員登録機能を作っていきます