3

我不知道为什么我的 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 
    |     ├──__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 *
4

1 回答 1

1

这可能与 Django 中良好的旧双线程生成有关。Django 的设置方式在开始时会产生两个线程,因此一个进程用于处理请求,另一个用于观察您是否更改了任何代码,以便它可以重新生成第一个线程。

如果您打印以下内容settings.py

import os
print(os.getpid())

您会看到它打印了 2 个不同的值。据我所知,这是标准的 django 行为。

于 2021-10-06T15:58:02.257 回答