2011-01-20 10 views
1

何が問題なのですか?ここで課題が間違っています

File "trunk/website/auth/user/emailchange/views.py" in email_change_view
102. context['form'] = form
File "/usr/local/lib/python2.6/dist-packages/django/template/context.py" in __setitem__
39. self.dicts[-1][key] = value

Exception Type: TypeError at /accounts/email/change/ Exception Value: 'SendUsernameForm' object does not support item assignment

はコード

else: 
    form = EmailChangeForm(username=request.user.username) 

context = RequestContext(request, extra_context) 
context['form'] = form 

return render_to_response(template_name, context_instance=context) 
です

HTMLコード:

<form method="post">{% csrf_token %} 
      {{ form.as_p }} 
      <p><input type="submit" value="Change email address" /></p> 
</form> 

任意のアイデア?

答えて

2

form~extra_contextを加えてください。contextではありません。

エラーは文字通りcontext['form']が無効であるため、RequestContextをそのように使用する必要があるかどうか疑問に思うのは良い場所です。

RequestContextのドキュメント:それは働いているhttp://docs.djangoproject.com/en/dev/ref/templates/api/#django.template.RequestContext

else: 
    form = EmailChangeForm(username=request.user.username) 

extra_context['form'] = form 
context = RequestContext(request, extra_context) 
+0

ありがとう!しかし、なぜそれを使わないのですか?申し訳ありませんが、私はDjangoとPyhtonの初心者です! – craphunter

+0

なぜそれを使用しないでください?これは、djangoの開発者がRequestContextをどのように構築するかではないためです。 PS:あなたのコードに何か間違っていたのだろうか?ビュー全体を投稿しますか? 'dict'ではなく' extra_context'として 'SendUserNameForm'を渡していたようです –

関連する問題