Настройки в Django повторяются при запуске сервера
Я не знаю, почему мое приложение django запускает settings/base.py 2 раза. Я думаю, что это замедлит работу моего приложения
.
В моем settings/base.py я напечатал
print('this is base_dir')
print(BASE_DIR)
вывод:
this is base_dir
F:\7.Django\BLOG_PROJECT\src_blog
this is base_dir
F:\7.Django\BLOG_PROJECT\src_blog
Вот мой файл настроек:
├── settings <br /> | ├──__init__.py <br /> | ├──base.py <br /> | ├──dev.py <br /> | ├──prod.py <br />
и мой settings\__init__.py
файл содержит:
import os
from dotenv import load_dotenv
load_dotenv()
if os.environ['ENV_SETTING'] =='prod':
from .prod import *
else:
from .dev import *
from .base import *
Это, вероятно, связано со старым добрым двойным порождением потоков в Django. Django настроен таким образом, что при запуске порождает два потока, поэтому один процесс обрабатывает запросы, а другой следит за тем, не изменили ли вы код, чтобы переродить первый.
Если вы напечатаете следующее в settings.py
import os
print(os.getpid())
Вы увидите, что он выводит 2 разных значения. Это стандартное поведение django, насколько я знаю.