2012-02-22 15 views
3

我將1.1.1 Django項目切換到1.3.1。當調用urls.py admin.autodiscover(),異常是從sites.py在管理框架提出聲明:將Django 1.1.1升級到1.3.1,admin.autodiscover()引發異常請求內容類型

ImproperlyConfigured at/
Put 'django.contrib.contenttypes' in your INSTALLED_APPS setting in order 
to use the admin application 

在settings.py,我有:

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Uncomment the next line to enable admin documentation: 
    # 'django.contrib.admindocs', 
    'my.app' 
) 

事情我檢查:

  1. contenttypes框架確實在我的INSTALLED_APPS設置。
  2. 我沒有重複我的INSTALLED_APPS聲明別的
  3. 在INSTALLED_APPS的CONTENTTYPES條目管理員進入上市前的任何地方。
  4. 運行django-admin.py shell並導入「django.contrib.contenttypes」的作品。

如果我去在管理違規線(Django的1.3.1/Django的/的contrib /在check_dependencies管理/ sites.py,線164),我看到:

if not ContentType._meta.installed: 
    raise ImproperlyConfigured(...) 

如果我將這張支票註釋掉,我可以運行我的項目和管理員。我不知道_meta.installed屬性應該如何在模型類型上設置,所以我不知道下一步該做什麼。

我也應該注意到,這個相同的Django 1.3.1安裝與其他使用類似設置文件的項目一起工作。

任何提示或資源,將不勝感激!謝謝!

+0

就在旁邊,(但相關)django 1.4現在處於測試階段。 Django 1.4RC將於2月27日發佈,並且1.4final將於05年3月發佈(按照發布時間表)。等待幾個星期可以讓你免去兩次升級遷移,而不是一次大遷移。 https://docs.djangoproject.com/zh/dev/releases/1.4-beta-1/#the-django-1-4-roadmap – 2012-02-22 15:48:20

+1

如果你在這裏發佈你的INSTALLED_APPS – 2012-02-22 16:57:34

+1

你會發現這個包是否存在在您的新安裝位置?像/site_packages/django/contrib/contenttypes。 – Furbeenator 2012-02-22 17:02:50

回答

1

django.contrib.contenttypes包含兩個模型,ContentType和ContentTypeManager。我的猜測是,在將dj​​ango.contrib.contenttypes添加到INSTALLED_APPS後,您還沒有運行manage.py syncdb

這將使if not ContentType._meta.installed檢查可以理解:ContentType模型在數據庫中尚不可用。