2

我正在尝试设置 FeinCMS,但在添加或删除页面扩展时出现页面迁移问题。

我一直在关注文档,但没有运气。

这是我的文件结构:

testcms
├── cms
│   ├── __init__.py
│   ├── admin.py
│   ├── migrate
│   │   ├── __init__.py
│   ├── migrations
│   │   ├── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── testcms
    ├── __init__.py
    ├── models.py
    ├── settings.py
    ├── urls.py
    ├── wsgi.py

我在 settings.py 中添加了所需的设置:

MIGRATION_MODULES = {
  'page': 'cms.migrate.page',
}

我的 INSTALLED_APPS 看起来像这样:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'cms',

    'feincms',
    'mptt',
    'feincms.module.page',
    'feincms.module.medialibrary',
)

运行 ./manage.py makemigrations 时出现此错误:

ImportError: No module named page

我尝试了不同的文件夹结构和不同的 MIGRATION_MODULES,但我没有改变任何东西。

我能得到的最好的结果是“没有检测到变化”。

有人知道我在做什么错吗?CMS 工作正常,但我知道我最终需要对 Page 模型进行更改。

Django 版本:(1, 8, 5, 'final', 0) FeinCMS 版本:(1, 11, 1)

4

2 回答 2

1

Django 1.9 和 Feincms 1.11 的类似问题。

我从 Christopher Baines 那里得到的解决方案是直接在页面和媒体库模块上运行迁移。 https://groups.google.com/forum/#!topic/django-feincms/pVACprn27Hw

首先为 FeinCMS 创建一个初始迁移:

python manage.py makemigrations --empty feincms

python manage.py migrate feincms

然后,为每个模块运行迁移:

python manage.py makemigrations page

python manage.py makemigrations medialibrary

python manage.py migrate page

python manage.py makemigrations

python manage.py migrate
于 2016-02-18T06:06:27.137 回答
0

导入错误中的“页面”模块很可能是指您在 MIGRATION_MODULES 设置中定义的 cms.migrate.page 模块,而不是feincms.page 模块。

由于您在 MIGRATION_MODULES 中定义了自定义迁移模块,因此您必须自己创建模块。

确保目录 cms/migrate/page 存在并包含一个__init__.py文件。

于 2016-08-31T16:34:11.903 回答