我决定去看看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
我查看了文档并看到我满足了有关版本的要求但很明显,我做错了。任何帮助将不胜感激。
答案 0 :(得分: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
来更新数据库表。
答案 1 :(得分:1)
您是否将'cms'
放入INSTALLED_APPS
settings.py
? Django-CMS还需要安装menus
,publisher
和mptt
以及一些中间件。 This is some nice to read documentation就可以了!
答案 2 :(得分:0)
通常,如果未创建表,则应用程序本身可能会出现一些错误: 尝试运行Django shell并从应用程序导入模型:
python manage.py shell
>>> from csm import models
并检查你是否得到追溯。
希望这可以提供帮助。