将Django项目从1.2更新到1.3,manage.py无法正常工作

5 投票
1 回答
5134 浏览
提问于 2025-04-16 07:30

我决定把我的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里。

这样就可以使用这个命令了。

撰写回答