2012-02-22 4 views
3

私は1.1.1 Djangoプロジェクトを1.3.1に切り替えました。 urls.pyでadmin.autodiscover()を呼び出す際に、例外が明記管理フレームワークでsites.pyから提起されています。settings.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 

、私が持っている:

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' 
) 

物事Iチェック:

  1. コンテンツタイプフレームワークは、実際にはINSTALLED_APPS設定です。
  2. 他の場所でINSTALLED_APPS宣言を繰り返さない
  3. INSTALLED_APPSのcontenttypesエントリは、管理エントリの前にリストされています。
  4. django-admin.pyシェルを実行し、 "django.contrib.contenttypes"をインポートすることができます。

私は管理者で、問題のある行に行けば(ジャンゴ-1.3.1 /ジャンゴに/ contrib /管理/ sites.py check_dependenciesでは、ライン164)は、私は以下を参照してください。

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

の場合私は小切手をコメントアウトし、私は私のプロジェクトを実行することができます、そして、管理者は働きます。 _meta.installedプロパティがモデルタイプにどのように設定されているのかよくわからないので、次に何をするのか分からなくなってしまいます。

このDjango 1.3.1インストールは、同様の設定ファイルを使用している他のプロジェクトでも動作しています。

ヒントやリソースがあれば幸いです!ありがとう!

+0

ちょうど脇の下、(関連する)django 1.4は現在ベータ版です。 Django 1.4RCは2月27日に予定されており、1.4ファイナルは3月5日にリリース予定です(リリーススケジュールに従って)。数週間待機すると、1つの大きなアップグレードではなく、2つのアップグレードの移行が不要になります。 https://docs.djangoproject.com/en/dev/releases/1.4-beta-1/#the-django-1-4-roadmap –

+1

ここにINSTALLED_APPSを投稿するとよいでしょう –

+1

パッケージが存在することを確認しましたか?あなたの新しい設置場所に? /site_packages/django/contrib/contenttypesのようなものです。 – Furbeenator

答えて

1

django.contrib.contenttypesには、ContentTypeとContentTypeManagerという2つのモデルがあります。私の推測では、INSTALLED_APPSにdjango.contrib.contenttypesを追加した後にmanage.py syncdbを実行していないということです。

これにより、if not ContentType._meta.installedのチェックがわかりやすくなります。ContentTypeモデルはまだデータベースでは使用できません。

関連する問題