この問題はよく知られているように見えたので、限られた量の情報から複製できるかどうかを確認したいと思いました。
クイック検索は、ジェームズ・ベネットのブログにエントリを上げ、ここで Userモデルを拡張するためのUserProfileで作業するときsettings.pyでよくある間違いは、Djangoはこのエラーをスローする可能性がありますことを言及しています。
ブログエントリを引用するには:
設定の値は「appname.models.modelname」ではなく、単に「appname.modelname」です。その理由は、Djangoがこれを直接インポートに使用していないためです。代わりに、アプリの名前とモデルの名前のみを必要とする内部モデル読み込み関数を使用しています。AUTH_PROFILE_MODULE設定で "appname.models.modelname"や "projectname.appname.models.modelname"のようなことを行おうとすると、Djangoは恐ろしい "too many values to unpack"エラーで爆破するので、確認してくださいAUTH_PROFILE_MODULEの値に「appname.modelname」のみを入れます。
OPがさらに多くのトレースバックをコピーした場合、AUTH_PROFILE_MODULE設定に「モデル」を追加することで複製できる以下のようなものが表示されると思います。
TemplateSyntaxError at /
Caught an exception while rendering: too many values to unpack
Original Traceback (most recent call last):
File "/home/brandon/Development/DJANGO_VERSIONS/Django-1.0/django/template/debug.py", line 71, in render_node
result = node.render(context)
File "/home/brandon/Development/DJANGO_VERSIONS/Django-1.0/django/template/debug.py", line 87, in render
output = force_unicode(self.filter_expression.resolve(context))
File "/home/brandon/Development/DJANGO_VERSIONS/Django-1.0/django/template/__init__.py", line 535, in resolve
obj = self.var.resolve(context)
File "/home/brandon/Development/DJANGO_VERSIONS/Django-1.0/django/template/__init__.py", line 676, in resolve
value = self._resolve_lookup(context)
File "/home/brandon/Development/DJANGO_VERSIONS/Django-1.0/django/template/__init__.py", line 711, in _resolve_lookup
current = current()
File "/home/brandon/Development/DJANGO_VERSIONS/Django-1.0/django/contrib/auth/models.py", line 291, in get_profile
app_label, model_name = settings.AUTH_PROFILE_MODULE.split('.')
ValueError: too many values to unpack
これは、Djangoにインポートマジックがまだいくつかあり、小さなエラーが予期した例外をスローしないときに混乱を招く数少ないケースの1つだと思います。
トレースバックの最後で、AUTH_PROFILE_MODULEに「appname.modelname」以外の形式を使用すると、「app_label、model_name = settings.AUTH_PROFILE_MODULE.split( '。')」という行が原因でスローされることがわかります。 「アンパックするには値が多すぎます」エラー。
これはここで発生した元の問題であったと99%確信しています。