我一直在研究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
中设置全局变量的最佳做法?