我是django的新手,反过来是django-cms应用程序。
我一步一步地遵循了教程: (来自offical website)在一台新机器上,完全按照教程所做的一切,但我仍然无法到达任何地方。
我进入设置过程的最后一步,一切都结束了,当我跑步时:
python manage.py syncdb --all
我收到以下错误:
CommandError: One or more models did not validate:
cms.page: 'site' has a relation with model <class 'django.contrib.sites.models.Site'>, which has either not been installed or is abstract.
cms.globalpagepermission: 'sites' has an m2m relation with model <class 'django.contrib.sites.models.Site'>, which has either not been installed or is abstract.
澄清这种情况发生在步骤1.3.2.1。在教程中全新安装
Run:
python manage.py syncdb --all
python manage.py migrate --fake
这些命令都不起作用,都会导致上述错误。
我不知道如何解决这个问题,甚至找不到导致我的问题的资源,我花了很短的时间在google和stackoverflow上寻找没有结果的答案,我还没有能够指出可能让我更难的问题。
非常感谢任何帮助。
我的代码与教程完全相同,这就是为什么我没有发布任何内容。
答案 0 :(得分:41)
我猜你正在使用新的Django 1.6。默认情况下,项目中不再包含sites
应用程序。而且似乎django-cms
依赖于它。
您可以轻松地将其添加到settings.py
文件中INSTALLED_APPS
列表中已启用的应用列表中:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites', # <----- here!
...