我正在使用Django 1.4.3并使用Django-CMS 2.3.5构建了几个站点。我想将它们升级到Django-CMS 2.4.1,这样我就可以开始转向Django 1.5了。
当我用Django-CMS 2.3.5从virtualenv键入./manage runserver
时,一切正常。当我使用Django-CMS 2.4.1移动到virtualenv时,但除此之外,我的所有页面都无法访问。
在管理面板中,它们都具有名称None。如果我编辑一个,屏幕会显示正确的名称和所有插件。如果我尝试保存页面,信息全部消失,包括名称和slug和插件,我在顶部收到一条消息,要求我修复以下错误(其中没有)。我可以按“发布草稿”,但浏览器找不到任何页面,但/
,并且它没有插件(它在管理面板中仍然有名称无)。
如果我尝试添加一个新的插件,我会收到一个警告,说<django.utils.functional.__proxy__ object at 0x1067a9e90>
。
我没有使用MultilingualURLMiddleware
中间件,并有USE_I18N = False
。
无论如何,我将'django.middleware.locale.LocaleMiddleware'
添加到了MIDDLEWARE_CLASSES
(但如果我不这样做,那就无济于事了)。
我输入了./manage.py migrate
,./manage cms fix-mptt
以及良好的测量./manage.py cms delete_orphaned_plugins
。
迁移到新版本的Django-CMS时,如何保留页面?
谢谢
我认为你的问题是新的CMS_LANGUAGES。
尝试设置:
USE_I18N = True
CMS_LANGUAGES = {
1: [
{
'code': 'en',
'name': gettext('English'),
'public': True,
},
],
'default': {
'fallbacks': ['en',],
'public': False,
}
}
还运行./manage.py cms检查以检查django CMS安装
我在django学到的最关键的事情是在project.db
完成任何迁移过程之前对manage.py
进行manuel备份。