1

在最后几天,我在我的一个 django 项目中观察到一个非常奇怪的行为:

当我运行一些 manage.py 命令时,我看到虽然这些命令已执行,但它们并没有结束。例如,如果我尝试运行 syncdb:

c:\django> python manage.py syncdb
正在同步...
创建表...
创建表 questions_category
创建表 questions_question
创建表格 questions_answer
安装自定义 SQL ...
安装索引...
从 0 个固定装置中安装了 0 个对象

这时我应该得到一个命令输入——但我没有!我对其他各种 manage.py 命令有相同的行为 - 它们运行正常,但它们不退出(例如 dumpdata 或 loadata - 数据被转储/加载正常,但是当这些完成时我没有得到命令提示符) !有没有人观察到同样的行为?有没有办法调试它?我尝试在我的 settings.py 末尾添加打印语句,我可以毫无问题地看到输出。

另外,我遇​​到的另一个可能与上述问题有关的问题是 runserver_plus 命令不再能够找出代码更改。因此,当我运行 manage.py runserver_plus 并更改例如我的 settings.py 时,我看到了:

* 检测到 'C:\\progr\\py\\adeies\\adeies\\settings.py' 的变化,重新加载

它停在那里 :( 它不会重新加载应用程序!使用普通的 runserver 可以毫无问题地重新加载应用程序,但是出于明显的原因,我更喜欢使用 runserver_plus 命令。

您对如何调试有任何想法吗?

谢谢 !

4

1 回答 1

1

某些依赖项可能正在启动一个线程。当自动重新加载代码更改或执行管理命令时,Django 将等待所有线程完成。检查所有依赖项以确定哪个可能导致此问题。

于 2013-08-06T16:16:35.203 回答