我一直在开发一个 django 应用程序并且已经成功地使用了 South。出于某种原因,我不再能够通过以下方式访问南命令manage.py
:
$ python manage.py schemamigration appname
Unknown command: 'schemamigration'
Type 'manage.py help' for usage.
此外,manage.py help
没有列出任何 South 命令。
我仍然可以很好地导入 Southmanage.py shell
并且 south 仍然在我的INSTALLED_APPS
. 我在 virtualenv 中运行 South 0.7.6、Django 1.4.1 和 Python 2.7.3,并且我也尝试过重新创建 virtualenv,但没有运气。有任何想法吗?
已解决:经过一番摆弄后,我注意到当我从settings.py > INSTALLED_APPS
South 中删除我的应用程序时,功能返回了。所以,我又调查了一些......
我已经LOGIN_REDIRECT_URL
设置了settings.py
使用reverse()
查找的方法。reverse()
查找失败是因为admin.py
试图导入我刚刚删除的模型。这就是我的南方问题的根源。为了解决我的问题,我删除了有问题的 import in admin.py
,但我也测试了将全局变量包装在settings.py
withtry/except
中,这也有效。
我觉得奇怪的是,manage.py
当它在导入时窒息时会默默地失败settings.py
。有没有办法改变这种行为?此外,是否有设置全局变量的最佳实践settings.py
?