2015-04-07 148 views
1

我是Django和DjangoCMS的新手。我最近安裝了DjangoCMS,並希望按照教程Tutorial 1Introduction to Plugins來編寫我自己的應用程序。如何將應用程序添加到Django CMS 3.0.12並遷移?

一些研究和測試後,我發現,當我嘗試運行任何的命令:

python manage.py migrate 

or 

python manage.py makemigrations polls 

我最終運行到以下錯誤:

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute 
    django.setup() 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models 
    self.models_module = import_module(models_module_name) 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/djangocms_text_ckeditor/models.py", line 14, in <module> 
    from cms.models import CMSPlugin 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/cms/models/__init__.py", line 3, in <module> 
    from .pagemodel import * # nopyflakes 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/cms/models/pagemodel.py", line 20, in <module> 
    from cms.models.placeholdermodel import Placeholder 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/cms/models/placeholdermodel.py", line 16, in <module> 
    from cms.utils.placeholder import PlaceholderNoAction, get_placeholder_conf 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/cms/utils/placeholder.py", line 8, in <module> 
    from sekizai.helpers import get_varname 
    File "/home/username/folder/DjangoCMS/env/local/lib/python2.7/site-packages/sekizai/helpers.py", line 3, in <module> 
    from django.template import VariableNode, Variable 
ImportError: cannot import name VariableNode 

我認爲這特定於我在settings.py文件中設置的已安裝應用程序,因爲我一直在處理這個錯誤,我發現大多數在INSTALLED_APPS中爲DjangoCMS設置的應用程序實際上並不需要爲我安裝在本地運行網站。

INSTALLED_APPS = (
    'djangocms_admin_style', 
    'djangocms_text_ckeditor', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.admin', 
    'django.contrib.sites', 
    'django.contrib.sitemaps', 
    'django.contrib.staticfiles', 
    'django.contrib.messages', 
    'djangocms_style', 
    'djangocms_column', 
    'djangocms_file', 
    'djangocms_flash', 
    'djangocms_googlemap', 
    'djangocms_inherit', 
    'djangocms_link', 
    'djangocms_picture', 
    'djangocms_teaser', 
    'djangocms_video', 
    'cms', 
    'menus', 
    'sekizai', 
    'reversion', 
    'mptt', 
    'south', 
    'mywebsite', 
    'polls' 
) 

望着堆我覺得這個特別的錯誤是關係到sekizai應用程序,但是當我繼續前進,PIP安裝Django-sekizai我仍然得到同樣的錯誤,當我嘗試遷移。

+0

它看起來像sekizai 0.8作品與包含VariableNode不過在Django 1.8不Django的1.7。你使用Django 1.8嗎? –

+0

我正在運行與dekizai 0.8.1相同的問題和Django 1.8,但與Django 1.7的遷移過程是好的(保留所有其他依賴版本) –

+0

我的版本是:1.8 –

回答

1

所以我發現了這個問題。 DjangoCMS只在使用Django版本1.6時才能正常工作,並且依賴於南遷移包/ app。

爲了解決這個問題只需做到以下幾點:

pip install django==1.6 

還要確保使用正確的教程,你可以通過查看URL檢查。

東西到目前爲止,我已經注意到,makemigrations不存在的Django 1.6 :(

+1

Django == 1.7沒關係,你不需要將你的django版本降級到1.6 –

0

我試圖與Django的== 1.9.7,如果升級Django的sekizai到0.9.0版本,然後錯誤自敗。 所以只要升級找你的Django sekizai到最新版本找你的Django版本。

pip install django-sekizai==0.9.0 
相關問題