The Installer could not find Models of cms app in Django-CMS
-
20-09-2019 - |
Question
I have installed django-cms in my hosting. But there is a problem. That's when I make syncdb, all my apps are synced, cms app is not. Although I have declared full enough in the settings. It is also not error at all. Someone help me. Thanks a lot!
(1146, "Table '***.cms_page' doesn't exist")
Solution 3
There are good news. I have overcome this error. In fact, this error is because I use the old version of MySQL-Python. It is not compatible with Django-CMS 2.0.
To upgrade the MySQL-Python 1.2.3c1, please visit: http://sourceforge.net/projects/mysql-python/files/ (Do not use easy_install)
Thanks!
OTHER TIPS
Did you include it in your INSTALLED_APPS list before running syncdb?
It might also help if you post that snippet from your settings.py file, as well as your directory structure.
I want to emphasize that I have added all the app before making syncdb. Below is the text file (I copied from folder 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
My answer to this solution was 'python manage.py syncdb' was not creating the CMS tables, so rather I had to use 'python manage.py syncdb --all' which then created all of the necessary tables.