python - Django奇怪的行为: manage. py命令没有结束

标签 python django django-manage.py

在过去的几天里,我在我的一个 django 项目中观察到一种非常奇怪的行为:

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

c:\django> python manage.py syncdb
Syncing...
Creating tables ...
Creating table questions_category
Creating table questions_question
Creating table questions_answer
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

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

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

 * Detected change in 'C:\\progr\\py\\adeies\\adeies\\settings.py', reloading

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

您对如何调试这个有什么想法吗?

谢谢!

最佳答案

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

关于python - Django奇怪的行为: manage. py命令没有结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18052515/

相关文章:

python - 堆垛和卸垛

python - Rest框架序列化器只读

jquery - 使用 Ajax 调用时获取 Django 调试信息?

python - Django:通过manage.py使用服务器和gunicorn等其他服务器之间的区别。哪个更好?

python - django-cms makemigrations错误: No module named 'packaging'

python - Heroku Python Worker ProcFile

python - Flask 丢失客户的回复

python - Pandas read_csv 在更改列数的情况下添加标题名称

javascript - Django,如何为网站上显示的脚本制作下载按钮

django - 是否可以在 django 管理命令中创建子解析器?