2015-10-16 107 views
2

我試圖設置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, '最終',0) FeinCMS版本:(1,11,1)

+0

我有同樣的問題,但與Django 1.7.8 – eskhool

回答

1

類似的問題使用Django 1.9和1.11 Feincms。

我從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 
0

最有可能在導入錯誤的「頁」模塊是指您在MIGRATION_MODULES設置中定義的cms.migrate.page模塊,而不是 feincms.page模塊。

由於您在MIGRATION_MODULES中定義了自定義遷移模塊,因此您必須自己創建模塊。

確保目錄cms/migrate/page存在並且包含__init__.py文件。