1

我已经在我的主机中安装了 django-cms。但有一个问题。那是我制作syncdb的时候,我所有的应用程序都同步了,cms应用程序没有。尽管我已经在设置中声明了足够多的内容。这也根本不是错误。谁来帮帮我。非常感谢!

(1146,“表 '***.cms_page' 不存在”)

4

4 回答 4

1

在运行 syncdb 之前,您是否将其包含在 INSTALLED_APPS 列表中?

如果您从您的 settings.py 文件以及您的目录结构中发布该片段,它也可能会有所帮助。

于 2009-10-08T07:23:26.330 回答
0

我想强调一下,我在制作syncdb之前已经添加了所有的应用程序。下面是文本文件(我从文件夹 Example of Django-CMS source 复制)。

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.core.context_processors.auth",
    "django.core.context_processors.i18n",
    "django.core.context_processors.debug",
    "django.core.context_processors.request",
    "django.core.context_processors.media",
    "cms.context_processors.media",
)

INTERNAL_IPS = ('127.0.0.1',)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.doc.XViewMiddleware',

    #'django.contrib.csrf.middleware.CsrfMiddleware',
    'cms.middleware.user.CurrentUserMiddleware',
    'cms.middleware.page.CurrentPageMiddleware',
    'cms.middleware.multilingual.MultilingualURLMiddleware',
    #'debug_toolbar.middleware.DebugToolbarMiddleware',

)

ROOT_URLCONF = 'projectname.urls'

TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, 'templates'),
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.admin',
    'django.contrib.sites',
    'tagging',

    'cms',
    'publisher',

    'cms.plugins.text',
    'cms.plugins.picture',
    'cms.plugins.file',
    'cms.plugins.flash',
    'cms.plugins.link',
    'cms.plugins.snippet',
    'cms.plugins.googlemap',
    'cms.plugins.teaser',
    'cms.plugins.video',
    'cms.plugins.twitter',
    'mptt',
    'reversion',

    'south',

    'projectname.sampleapp',

)

LANGUAGE_CODE = "en"

gettext = lambda s: s

LANGUAGES = (
    ('en', gettext('English')),
)

CMS_LANGUAGE_CONF = {
    'en':['en'],
}

CMS_TEMPLATES = (
    ('index.html', gettext('default')),
    ('nice.html', gettext('nice one')),
    ('cool.html', gettext('cool one')),
    ('long-folder-long/long-template-name.html', gettext('long')),
)

CMS_APPLICATIONS_URLS = (
    ('sampleapp.urls', 'Sample application'),
    ('sampleapp.urlstwo', 'Second sample application'),
)

CMS_PLACEHOLDER_CONF = {                        
    'right-column': {
        "plugins": ('FilePlugin', 'FlashPlugin', 'LinkPlugin', 'PicturePlugin', 'TextPlugin', 'SnippetPlugin'),
        "extra_context": {"theme":"16_16"},
        "name":gettext("right column")
    },

    'body': {
        "plugins": ("VideoPlugin", "TextPlugin", ),
        "extra_context": {"theme":"16_5"},
        "name":gettext("body"),
    },
    'fancy-content': {
        "plugins": ('TextPlugin', 'LinkPlugin'),
        "extra_context": {"theme":"16_11"},
        "name":gettext("fancy content"),
    },
}


CMS_NAVIGATION_EXTENDERS = (('projectname.categories.navigation.get_nodes', 'Categories'),)

CMS_SOFTROOT = True
CMS_MODERATOR = True
CMS_PERMISSION = True
CMS_REDIRECTS = True
CMS_SEO_FIELDS = True
CMS_MENU_TITLE_OVERWRITE = True
CMS_HIDE_UNTRANSLATED = False


try:
    from local_settings import *
except ImportError:
    pass
于 2009-10-08T13:05:42.523 回答
0

有好消息。我已经克服了这个错误。其实这个错误是因为我使用的是旧版本的 MySQL-Python。它与 Django-CMS 2.0 不兼容。

升级 MySQL-Python 1.2.3c1,请访问:http: //sourceforge.net/projects/mysql-python/files/ (不要使用easy_install)

谢谢!

于 2009-10-09T13:44:19.703 回答
0

我对这个解决方案的回答是“python manage.py syncdb”没有创建 CMS 表,所以我不得不使用“python manage.py syncdb --all”,然后创建了所有必要的表。

于 2014-10-01T21:47:08.697 回答