###実行しようとしていること
https://tutorial.djangogirls.org/ja/django_start_project/
こちらのページを参考に、Djangoのプロジェクトを立ち上げてマイグレーションを行い、WEBサーバー上で起動させる、という一連のチュートリアルを行っています。
作業環境について
windows10で作業しています。
DjangoはcondaでDjango用に新しく仮想環境を立ち上げたのちインストールしました。
C:\Users\ユーザー\AppData\Local\conda\envs\仮想環境\Lib\site-packages\django というディレクトリにインストールされています。
プロジェクトのフォルダはC:\Users\ユーザー\OneDrive\ドキュメント にプロジェクト名のディレクトリを作りました。
発生している問題・エラーメッセージ
プロジェクト用のフォルダを上記のディレクトリに作成し、python manage.py migrateのコマンドでデータベースをセットアップしてpython manage.py runserverによってサーバー上で動かす、というところは実行できたのですが、
これは言語の設定をデフォルトのLANGUAGE_CODE ='en-us'のままにしている場合であり、
日本語化しようとLANGUAGE_CODE ='ja'に変更して再度migrateを行うと、以下のエラーメッセージが表示されてしまい、設定変更ができません。
OSError: No translation files found for default language ja.
この時点で、プロジェクトのディレクトリ構成は以下のようになっています。
Djangotest
├── manage.py
├── mysite
│ ├── _init_.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── db.sqlite3
試したこと
http://www.i18nguy.com/unicode/language-identifiers.html
このページを参考に、他の言語をデフォルト設定にした場合どうなるかを調べようと例えば'nb'(ノルウェー)、'ko-KP'(韓国)、'nl-NL'(オランダ)などを設定してみると、settings.pyを保存した瞬間にウェブサイトも更新され、URLを読み込み直してみるとその言語に変更されている状態が確認できました。
しかし、同様の手順で'ja'を設定するとやはり上記のエラーが出てしまいます。
ですので、'ja'という表記が間違っているのかと調べてみたのですが、様々な立ち上げの手順を記録したサイトを見ても「LANGUAGE_CODEを'ja'にする」ということ自体に違いはないようですので、対処方法がわからず困っています。
該当のソースコード
django-admin.py startproject プロジェクト名 のコマンドで自動で作られるsettings.pyから、LANGUAGE_CODEとTIME_ZONE以外は変更していません。
python3.6
1""" 2Django settings for mysite project. 3 4Generated by 'django-admin startproject' using Django 2.2.17. 5 6For more information on this file, see 7https://docs.djangoproject.com/en/2.2/topics/settings/ 8 9For the full list of settings and their values, see 10https://docs.djangoproject.com/en/2.2/ref/settings/ 11""" 12 13import os 14 15# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 16BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 17 18 19# Quick-start development settings - unsuitable for production 20# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/ 21 22# SECURITY WARNING: keep the secret key used in production secret! 23SECRET_KEY = '****************************************' 24 25# SECURITY WARNING: don't run with debug turned on in production! 26DEBUG = True 27 28ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com'] 29 30 31# Application definition 32 33INSTALLED_APPS = [ 34 'django.contrib.admin', 35 'django.contrib.auth', 36 'django.contrib.contenttypes', 37 'django.contrib.sessions', 38 'django.contrib.messages', 39 'django.contrib.staticfiles', 40] 41 42MIDDLEWARE = [ 43 'django.middleware.security.SecurityMiddleware', 44 'django.contrib.sessions.middleware.SessionMiddleware', 45 'django.middleware.common.CommonMiddleware', 46 'django.middleware.csrf.CsrfViewMiddleware', 47 'django.contrib.auth.middleware.AuthenticationMiddleware', 48 'django.contrib.messages.middleware.MessageMiddleware', 49 'django.middleware.clickjacking.XFrameOptionsMiddleware', 50] 51 52ROOT_URLCONF = 'mysite.urls' 53 54TEMPLATES = [ 55 { 56 'BACKEND': 'django.template.backends.django.DjangoTemplates', 57 'DIRS': [], 58 'APP_DIRS': True, 59 'OPTIONS': { 60 'context_processors': [ 61 'django.template.context_processors.debug', 62 'django.template.context_processors.request', 63 'django.contrib.auth.context_processors.auth', 64 'django.contrib.messages.context_processors.messages', 65 ], 66 }, 67 }, 68] 69 70WSGI_APPLICATION = 'mysite.wsgi.application' 71 72 73# Database 74# https://docs.djangoproject.com/en/2.2/ref/settings/#databases 75 76DATABASES = { 77 'default': { 78 'ENGINE': 'django.db.backends.sqlite3', 79 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 80 } 81} 82 83 84# Password validation 85# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators 86 87AUTH_PASSWORD_VALIDATORS = [ 88 { 89 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 90 }, 91 { 92 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 93 }, 94 { 95 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 96 }, 97 { 98 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 99 }, 100] 101 102 103# Internationalization 104# https://docs.djangoproject.com/en/2.2/topics/i18n/ 105 106LANGUAGE_CODE = 'ja' 107 108TIME_ZONE = 'Asia/Tokyo' 109 110USE_I18N = True 111 112USE_L10N = True 113 114USE_TZ = True 115 116 117# Static files (CSS, JavaScript, Images) 118# https://docs.djangoproject.com/en/2.2/howto/static-files/ 119 120STATIC_URL = '/static/' 121
補足説明
Djangoのインストール時に作成された
C:\Users\ユーザー\AppData\Local\conda\envs\仮想環境\Lib\site-packages\django\contrib\admin\locale\ja\LC_MESSAGES
というフォルダに「django.po, django.mo, djangojs.po, djangojs.mo」という4つのファイルがあり、調べるとこれが日本語の翻訳ファイルに該当するのではないかと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/19 00:31
2021/01/24 01:22 編集
2021/01/24 01:16
2021/01/24 01:25
2021/01/24 03:28
2021/01/24 03:48