【问题标题】:Django-CMS pages all blank after upgrade from 2.3.5 to 2.4.1从 2.3.5 升级到 2.4.1 后,Django-CMS 页面全部空白
【发布时间】:2013-05-16 02:53:14
【问题描述】:

我正在使用 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 和插件,并且我会在顶部收到一条消息,要求我修复以下错误(其中没有错误)。我可以按“发布草稿”,但浏览器除了/ 之外找不到任何页面,而且它上面没有插件(在管理面板中它仍然有名称 None)。

如果我尝试添加新插件,我会收到一条警告,提示 <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 时如何保留我的页面?

谢谢

【问题讨论】:

    标签: django upgrade django-cms


    【解决方案1】:

    这里是upgrade instruction

    我认为您的问题在于新样式 CMS_LANGUAGES。

    尝试设置:

    USE_I18N = True    
    CMS_LANGUAGES = {
        1: [
            {
                'code': 'en',
                'name': gettext('English'),
                'public': True,
                },
            ],
        'default': {
            'fallbacks': ['en',],
            'public': False,
            }
    }
    

    同时运行 ./manage.py cms check 来检查 django CMS 安装

    【讨论】:

    • 解决了! (一旦我进入并再次发布每一页)。我以为我可以通过保持 USE_I18N=False 来缩短指令,但似乎不行。我的网站现在在 URL 中有 en/,以前没有,但这不是一个大问题,我认为有办法摆脱它。非常感谢!
    • 尝试将 LANGUAGE_CODE 设置为“en”而不是“en-us”
    【解决方案2】:

    我在 django 中学到的最重要的事情是在 manage.py 完成任何迁移过程之前对 project.db 进行手动备份。

    【讨论】:

      猜你喜欢
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-05
      • 2014-08-11
      • 2013-07-03
      相关资源
      最近更新 更多