プロジェクトの設定

プロジェクトの設定はプロジェクト作成時に生成された「settings.py」というファイルに記述します。

言語とタイムゾーンの変更

settings.py の LANGUAGE_CODE を ja に書き換えると日本語で表示できます。

LANGUAGE_CODE = 'ja'
 
TIME_ZONE = 'Asia/Tokyo'

開発サーバーを起動すると日本語で表示されます。

DBの設定

DjangoでのDBの設定は「DATABASES」に記述します。

sqlite3

Djangoで使用するDBはデフォルトではsqlite3となっています。sqlite3を使用する場合、変更の必要はありません。

MySQL

MySQLを使用する場合は、事前にDjango用のデータベース、MySQLのユーザーを作成します。MySQLに接続後以下のSQLを実行します。

Django用のDATABASEの作成

CREATE DATABASE django CHARACTER SET utf8;

Django用のMySQLユーザーの作成

CREATE USER djangouser IDENTIFIED BY 'yourpassword';

作成したユーザーに権限を付与

GRANT ALL ON django.* TO 'djangouser'@'%';

「python manage.py migrate」を実行した時「Did you install mysqlclient?」というエラー出ると思うので PyMySQLをインストールする。

pip install PyMySQL

settings.pyのDATABASESの部分を編集します。

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "django",
        "USER": "djangouser",
        "PASSWORD": "yourpassword",
        "HOST": "localhost",
        "PORT": "3306",
        "OPTIONS": {
            "init_command": "SET sql_mode='STRICT_TRANS_TABLES'",
        },
    }
}

myapp/manage.pyに以下の2行を追加

import pymysql
pymysql.install_as_MySQLdb()

以下のようにimport sys の次の行に追加すればOKです。

「RuntimeError: ‘cryptography’ package is required for sha256_password or caching_sha2_password auth methods」というエラーが発生した場合、「cryptography」をインストールします。

pip install cryptography

アプリケーションの設定

DjangoではWebサイトの機能をアプリケーション単位で分割します。アプリケーションの一覧は「settings.py」の「INSTALLED_APPS」に記述します。デフォルトでもいくつかのアプリケーションが登録されています。

アプリケーションの作成

以下のコマンドを実行して「test_app」というアプリケーションを作成します。

python manage.py startapp test_app

「python manage.py startapp test_app」を実行すると、「myapp]配下に「test_app」が作成されます。

作成したアプリケーションの登録

作成したアプリケーションを登録するには、「INSTALLED_APPS」に記述します。

INSTALLED_APPS = [
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    'test_app.apps.TestAppConfig',  # <-- 作成したアプリケーション
]

コメント

タイトルとURLをコピーしました