将Django项目从1.2更新到1.3,manage.py无法正常工作
我决定把我的Django 1.2项目升级到Django 1.3,这样可以使用新的静态文件功能。我先删除了旧版本的Django,然后按照文档的说明从svn安装了开发版本。
看起来升级成功了。也就是说,当我运行命令python -c "import django; print django.get_version()"时,显示的是"1.3 alpha 1 SVN-14686"。但是,我在旧项目中似乎无法使用1.3的新功能。如果我输入"python manage.py collectstatic --help",系统却提示"未知命令:'collectstatic'"。
我尝试创建一个新的项目,做同样的操作,这次collectstatic命令是可以用的。我查看了django.core.management的内容,但有些地方还是搞不太明白。get_commands()的文档中提到:
这个字典在第一次调用时会被缓存,后续调用时会重复使用。
也许这和我的问题没什么关系,但我在想,是否我的问题和缓存有关(也就是说,旧版本的命令字典被缓存了,里面没有新的1.3命令)?你们怎么看?
1 个回答
18
要使用管理命令,你需要在settings.py文件中的INSTALLED_APPS
里添加提供这个命令的应用程序。根据文档的说明:
首先,你需要确保
django.contrib.staticfiles
在你的INSTALLED_APPS
里。
这样就可以使用这个命令了。