3

我决定看看 django-cms。查看文档后,我使用克隆了存储库

git clone https://github.com/divio/django-cms.git

然后我使用安装它

sudo python setup.py install

我已经安装了 django 1.2.3。我移动到创建以下表的example目录并运行:syncdb

Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_admin_log
Creating table django_site
Creating table sampleapp_category
Creating table sampleapp_picture
Creating table south_migrationhistory



You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes...

我们可以清楚地看到 cms 表没有创建。我在运行服务器和浏览时显然遇到了这个问题http://localhost:8000/

DatabaseError: no such table: cms_page

我查看了文档,发现我符合有关版本的要求,但很明显,我做错了。任何帮助将不胜感激。

4

3 回答 3

7

django-cms 使用South进行数据库迁移。South 处理的模型不会使用syncdb. 你必须使用manage.py migrate.

由于您没有要迁移的 django-cms 中的任何表和数据,因此更快的解决方案是以下过程:

  • 注释掉'south'你的INSTALLED_APPS
  • 运行manage.py syncdb(这将从 django-cms 创建所有表)
  • 重新启用你的南INSTALLED_APPS
  • manage.py migrate --fake

下次您更新 django-cms 时,您可以运行manage.py migrate以更新您的数据库表。

于 2010-12-14T13:19:08.853 回答
1

你放进'cms'INSTALLED_APPSsettings.py吗?Django-CMS 还需要menus,publishermptt安装一些中间件。这是一些很好的阅读文档

于 2010-12-14T12:07:13.960 回答
0

一般来说,如果没有创建表,应用程序本身可能会出现一些错误:尝试运行 Django shell 并从应用程序导入模型:

python manage.py shell

>>> from csm import models

并检查您是否获得回溯。

希望这能有所帮助。

于 2010-12-14T13:20:30.317 回答