Ответ 1
Я попытался смоделировать среду таким образом:
$ cd ~
$ python3 -m venv ~/venvs/mysite
$ source ~/venvs/mysite/bin/activate
$ pip install django==2.0.8
$ django-admin startproject mysite
Затем я обновил код генерации, как в вашем примере:
-
MySite/settings.py
... MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ... TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['templates'], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] ...
-
MySite/urls.py
from django.contrib import admin from django.urls import path from django.views.generic.base import TemplateView urlpatterns = [ path('', TemplateView.as_view(template_name='base.html'), name='home'), path('admin/', admin.site.urls), ]
-
шаблоны /base.html
{% load i18n %} {% get_current_language as LANGUAGE_CODE %} <!DOCTYPE html> <html lang="{{ LANGUAGE_CODE }}"> <body> <pre>LANGUAGE_CODE = {{ LANGUAGE_CODE }}</pre> <body> </html>
С созданным Django кодом и несколькими моими обновлениями я могу увидеть другой код языка, если я переключу язык моего браузера, посещая http://localhost: 8000/ после его запуска:
$ python manage.py runserver
Попробуйте выполнить мои действия в локальной среде и проверьте, работает ли она, а затем сравните свой проект с приведенным выше кодом.
Обновить
Попробуйте использовать diffsettings, чтобы увидеть "различия между текущим файлом настроек и настройками Djangos по умолчанию".