Переключение с локального на прод в файле .env не работает
У меня есть приложение django. И я использую файл .env для настроек окружения.
Но вот что я заметил: если я переключаюсь с настроек локального окружения на настройки производственного окружения и наоборот, и перезапускаю службу django. Ничего не меняется.
Итак, у меня есть мои локальные настройки в файле .env. А файл .env находится в том же каталоге, что и файл settings.py:
DEBUG=1
SECRET_KEY="django-insecure-kwuz7%@967xvpdnf7go%r#d%lgl^c9ah%!_08l@%x=s4e4&+(u"
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]
DB_NAME="dierenwelzijn"
DB_USER="dierenwelzijn"
DB_PASS="8Bit235711"
DB_HOST=localhost
DB_PORT=5432
и в файле settings.py у меня есть следующее:
from django.utils.encoding import force_str
import django
from os import environ
from pathlib import Path
import os
import dotenv
dotenv.read_dotenv()
django.utils.encoding.force_text = force_str
BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = os.environ.get('SECRET_KEY')
DEBUG = bool(int(os.environ.get('DEBUG', 1)))
ALLOWED_HOSTS = ['localhost', '0.0.0.0', '192.168.1.135', '10.0.2.2', '10.14.194.138', '0.0.0.0',
"127.0.0.1",
'zijn.azurewebsites.net', 'zijndocker.azurewebsites.net',
'https://dierenwelzijndocker.azurewebsites.net']
ALLOWED_HOSTS.extend(
filter(
None,
os.environ.get('ALLOWED_HOSTS', '').split(" "),
)
)
CSRF_TRUSTED_ORIGINS = [
"https://dockerzijn.azurewebsites.net",
"https://zijndocker.azurewebsites.net",
"http://0.0.0.0:8000",
"http://10.0.2.2:8000", "http://localhost:8000",
"http://10.14.194.138:8000", "http://127.0.0.1:8000/"]
и я перезапускаю приложение django с помощью команды: python manage.py runserver
Он по-прежнему использует переменные окружения производства. Потому что если я перейду к:
http://127.0.0.1:8000/
Not Found Запрашиваемый ресурс не найден на этом сервере.
И он также использует производственную базу данных. А не локальную базу данных.
Так есть ли какая-то команда, которую нужно использовать, чтобы заставить приложение django заново взять файл .env? Что-то насчет кэша? Я также удалил кэш.
Вопрос: как принудительно создать файл .env с реальными настройками в нем?