意外地将南方命令从Django的manage.py中移除

时间:2012-09-13 16:12:23

标签: python django django-south

我一直在研究django应用程序并且已成功使用South。出于某种原因,我无法再通过manage.py访问南方命令:

$ python manage.py schemamigration appname
Unknown command: 'schemamigration'
Type 'manage.py help' for usage.

此外,manage.py help未列出任何南方命令。

我仍然可以通过manage.py shell导入南方,而南方仍在INSTALLED_APPS。我在virtualenv中运行South 0.7.6,Django 1.4.1和Python 2.7.3,我也试过没有运气重新创建virtualenv。有什么想法吗?

解决:经过一些更多的摆弄,我注意到当我从settings.py > INSTALLED_APPS移除我的应用程序时,返回了南方功能。所以,我调查了一些......

我的LOGIN_REDIRECT_URL设置settings.py,使用reverse()查找。 reverse()查找失败,因为admin.py尝试导入我刚刚删除的模型。这是我的南方问题的根源。为了解决我的问题,我删除了admin.py中有问题的导入,但我还测试了settings.py中包含try/except的全局变量,这也有效。

我发现manage.py在导入settings.py时窒息时无声地失败,我觉得很奇怪。有没有办法改变这种行为?此外,是否有在settings.py中设置全局变量的最佳做法?

0 个答案:

没有答案