私のコードがどこを呼び出すのかわからないので、私は理解できませんエラーメッセージがあります。 dev_appserver
のGoogleアプリエンジンでUserオブジェクトを使用すると表示されます。それが何を意味するのか教えていただけますか?エラーメッセージのヘルプ
ERROR 2011-07-15 15:01:07,664 __init__.py:463] 'User' object has no attribute '_User__email'
Traceback (most recent call last):
File "/media/Lexar/projects/google/appengine/ext/webapp/__init__.py", line 700, in __call__
handler.get(*groups)
File "/media/Lexar/projects/myproject/i18n.py", line 313, in get
self.response.out.write(template.render(path, template_values))
File "/media/Lexar/projects/google/appengine/ext/webapp/template.py", line 73, in render
return t.render(Context(template_dict))
File "/media/Lexar/projects/google/appengine/ext/webapp/template.py", line 115, in wrap_render
return orig_render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 173, in render
return self._render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 167, in _render
return self.nodelist.render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 796, in render
bits.append(self.render_node(node, context))
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 809, in render_node
return node.render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/loader_tags.py", line 139, in render
return self.template.render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 173, in render
return self._render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 167, in _render
return self.nodelist.render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 796, in render
bits.append(self.render_node(node, context))
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 809, in render_node
return node.render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/defaulttags.py", line 258, in render
return self.nodelist_true.render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 796, in render
bits.append(self.render_node(node, context))
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 809, in render_node
return node.render(context)
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 849, in render
return _render_value_in_context(output, context)
File "/media/Lexar/projects/lib/django_1_2/django/template/__init__.py", line 829, in _render_value_in_context
value = force_unicode(value)
File "/media/Lexar/projects/lib/django_1_2/django/utils/encoding.py", line 66, in force_unicode
s = unicode(s)
File "/media/Lexar/projects/google/appengine/api/users.py", line 188, in __unicode__
return unicode(self.nickname())
File "/media/Lexar/projects/google/appengine/api/users.py", line 152, in nickname
if (self.__email and self.__auth_domain and
AttributeError: 'User' object has no attribute '_User__email'
編集:私は
UPDATE Userオブジェクトを使用して、いくつかのミスを作ってるんだだから、たぶん
'user_url': users.create_logout_url(self.request.uri) if users.get_current_user() else 'login','user' : users.get_current_user(),
:私はこのコードを削除するときにエラーが消えることがありますが持っているようです私が適用したモンキータイプとは何か。この部分を削除するとエラーがなくなり、このパッチがまだ必要かどうかわかりません。私はあなたのエラーは、いくつかのモジュールのインポート時にですよねモンキーパッチが How do I apply a monkeypatch to GAE?
私はあなたのUPDATEの情報に困惑しています。このパッチは 'User .__ email'(= 'User._User__email')に値を割り当てるように見えるので、' User'オブジェクトがなければ驚いています。私はあなたがパッチを間違った方法で適用できるかどうか分かったが、*削除すると問題は解決してはならないだろう...確かに困惑する...: -/ – mac
コードが何をするのか困惑する私はそれを保つべきかどうか。私はコードを理解できませんでした。貼り付けるだけで済むようになりました。今では、その問題がSDKによって解決されている可能性があるので、今はもうそれを宣言する必要はありません。 –
私の哲学は、コードがそのために設計されたテストに合格し、パッチがセキュリティ上の問題に対処しないと、決してパッチを当てないということです。その理由は、(パッチのように)コードの他の部分の作業に微妙なパッチが影響を与えることがあり、パッチのあるバージョンのメインソフトウェアにアップグレードする際に壊れるコードを簡単に作成することができるからですもう必要ないでしょう。これは、私がテスト駆動開発、btwと恋している多くの理由の一つです! :) – mac