Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django-settings.py似乎加载了多次?_Django_Pycharm - Fatal编程技术网

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

django-settings.py似乎加载了多次?,django,pycharm,Django,Pycharm,编辑我算错了-它被打印了两次,而不是四次 我将其放入我的设置.py print 'ola!' 启动时“ola”会打印两次!我的pycharm django项目似乎有点问题。。。你知道为什么会这样吗?它不是一个循环或任何东西(反正我知道) 干杯 YAY根据评论,仅称为“rohit”的用户已确定可以在此处找到解决方案:~请参阅关于禁用重新加载的评论 小心我现在没有Django代码,所以我不知道空加载会做什么。祝你好运,士兵们 Django使用settings.py执行一些奇怪的操作,它将执行多次。

编辑我算错了-它被打印了两次,而不是四次

我将其放入我的
设置.py

print 'ola!'
启动时“ola”会打印两次!我的pycharm django项目似乎有点问题。。。你知道为什么会这样吗?它不是一个循环或任何东西(反正我知道)

干杯

YAY根据评论,仅称为“rohit”的用户已确定可以在此处找到解决方案:~请参阅关于禁用重新加载的评论


小心我现在没有Django代码,所以我不知道空加载会做什么。祝你好运,士兵们

Django使用settings.py执行一些奇怪的操作,它将执行多次。我习惯于看到它进口两次,不知道为什么在PyCharm中会有四次。您必须小心settings.py中带有副作用的语句。

实际上,Django所做的是在设置周围放置一个包装器。它基本上是一个对象(设置对象,如果您愿意的话),它允许您访问一些直接设置器,如
设置。无论什么
,因此它看起来就像您访问settings.py direclty中的全局变量

我真的不记得了,为什么导入会发生两次。我在研究Django时曾经研究过它,它使用了与Django本身非常相似的方法。
无论如何,如果您对“魔术”感兴趣,您可以从
execute\u from\u命令行
调用
manage.py

开始遵循流程,如果您在settings.py中打印线程ID,您将看到settings.py实际上正在两个不同的线程上加载


有关更多信息,请参阅和。

至少提出了一个密切相关的问题。我可以补充说,Django核心开发人员认为这是任何类型的Django bug;这是正常的行为

另请参见Graham Dumpleton。

在这里找到了答案: