FeinCMS页面迁移不起作用

时间:2015-10-16 09:17:48

标签: python django migration feincms

我尝试设置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)

2 个答案:

答案 0 :(得分:1)

与Django 1.9和Feincms 1.11类似的问题。

我从Christopher Baines收到的解决方案是直接在页面和medialibrary模块上运行迁移。 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

答案 1 :(得分:0)

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

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

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