我已经在我的主机中安装了 django-cms。但有一个问题。那是我制作syncdb的时候,我所有的应用程序都同步了,cms应用程序没有。尽管我已经在设置中声明了足够多的内容。这也根本不是错误。谁来帮帮我。非常感谢!
(1146,“表 '***.cms_page' 不存在”)
我已经在我的主机中安装了 django-cms。但有一个问题。那是我制作syncdb的时候,我所有的应用程序都同步了,cms应用程序没有。尽管我已经在设置中声明了足够多的内容。这也根本不是错误。谁来帮帮我。非常感谢!
(1146,“表 '***.cms_page' 不存在”)
在运行 syncdb 之前,您是否将其包含在 INSTALLED_APPS 列表中?
如果您从您的 settings.py 文件以及您的目录结构中发布该片段,它也可能会有所帮助。
我想强调一下,我在制作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
有好消息。我已经克服了这个错误。其实这个错误是因为我使用的是旧版本的 MySQL-Python。它与 Django-CMS 2.0 不兼容。
升级 MySQL-Python 1.2.3c1,请访问:http: //sourceforge.net/projects/mysql-python/files/ (不要使用easy_install)
谢谢!
我对这个解决方案的回答是“python manage.py syncdb”没有创建 CMS 表,所以我不得不使用“python manage.py syncdb --all”,然后创建了所有必要的表。