18

每当我在 django 之类的某个地方或任何随机文件中放入(随机)print语句时,它都会被打印两次。为什么?settings.py.py

尝试这个:

TEMPLATE_DIRS(in settings.py) 上设置值后,只需在其后添加一个打印语句: print TEMPLATE_DIRS

你会得到你的模板目录打印两次。或者如果你觉得老土了,直接print "Hello World在声明后添加TEMPLATE_DIRS,它会打印两次。

运行命令:python manage.py runserver

4

1 回答 1

29

它没有运行两次,它分叉到 2 个进程,每个进程都运行一次。

回答者:为什么django项目中的init模块加载了两次

它应该只加载一次......每个进程。我猜测 manage.py 分叉,并且启动了两个单独的进程。

一篇文章。

如果您将此添加到您的settings.py

import os
print(os.getpid())

它将打印出 2 个不同的进程 ID 号,表明它产生了 2 个进程。

您可以在 wikipedia 上阅读更多关于分叉的信息。

这似乎也与以下内容重复:

django - settings.py 似乎加载了多次?

于 2013-05-14T15:13:46.787 回答