我决定将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()的docstring提到:
字典缓存在第一个字典上 呼叫并在后续呼叫中重复使用。
也许这完全不相关,但我想知道我的问题是否与缓存有关(也就是说,旧版本的命令字典是缓存的,它没有新的1.3命令?)。有什么想法吗?
答案 0 :(得分:18)
要使用管理命令,您需要将设置它的应用程序添加到settings.py中的INSTALLED_APPS
。来自the docs:
首先,您需要确保
django.contrib.staticfiles
中有INSTALLED_APPS
。
这应该使命令可用。