我不知道为什么我的 django 应用程序运行 settings/base.py 两次。我认为这会使我的应用变慢
在我的 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 | ├──__init__.py | ├──base.py | ├──dev.py | ├──prod.py
和我的 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 行为。
关于python - Django 中的设置在运行服务器时重复运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69465477/