1. ホーム
  2. python

[解決済み] 「値が多すぎて解凍できません」例外処理

2022-06-22 07:16:12

質問

私は Django のプロジェクトに取り組んでおり、ユーザプロファイルを作成するために User モデルを拡張しようとし始めたところです。

残念ながら、私は問題にぶつかりました: テンプレート内でユーザーのプロファイルを取得しようとするたびに ( user.get_template.lastIP など) 内でユーザーのプロファイルを取得しようとするたびに、次のエラーが発生します。

環境

リクエスト方法。GET
リクエストURL: http://localhost:8000/
Django バージョン: 1.1
Python バージョン: 2.6.1

テンプレートエラーです。
テンプレート /path/to/base.tpl で、19 行目にエラーがあります。
   レンダリング中に例外をキャッチしました: 解凍する値が多すぎます。

19 : こんにちは、{{user.username}}です。({{ user.get_profile.rep}}) ですね.調子はどうですか?ログアウト


例外の種類 TemplateSyntaxError at / (テンプレートシンタックスエラー)
Exception Value: Caught an exception while rendering: too many values to unpack


何が起こっているのか、または私が間違っているのかについて、何か考えがありますか?

どのように解決するのですか?

この例外は、タプルを展開しようとしているが、タプルがターゲット変数の数に対して多すぎる値を持っていることを意味します。例: この作品は、1、2、3の順に表示されます。

def returnATupleWithThreeValues():
    return (1,2,3)
a,b,c = returnATupleWithThreeValues()
print a
print b
print c

しかし、これはあなたのエラーを発生させる

def returnATupleWithThreeValues():
    return (1,2,3)
a,b = returnATupleWithThreeValues()
print a
print b

レイズ

Traceback (most recent call last):
  File "c.py", line 3, in ?
    a,b = returnATupleWithThreeValues()
ValueError: too many values to unpack

さて、あなたのケースでなぜこのようなことが起こるのか、その理由はわかりませんが、もしかしたらこの回答が正しい方向を示してくれるかもしれません。