0
私はコンテキストクラスをDjangoのためにクエリセットオブジェクトを渡そうとしますが、次のエラーが発生してやっている:(「コンテキストはdictのではなく、%sのでなければならない」%コンテキスト.__クラス__.__ name__)例外TypeErrorがDjangoのコンテキストクラスにクエリセットを渡すには?
私は文脈が辞書だけを受け入れるが、私はdjangoバージョン1.8を使用してdjango 2.0を使用しているdjango_unleashedという本の例に従っていると理解しています。以前のバージョンではそうだったと思います。
だから私の質問は、私はこのステップが正しくエラーが示すように、あなたはコンテキストのための定期的な辞書を使用すべきである2.0
from django.shortcuts import render
from django.http import HttpResponse
from .models import Tag
from django.template import Context, loader
def homepage(request):
tag_list = Tag.objects.all()
template = loader.get_template('organizer/tag_list.html')
context = Context({'tag_list': tag_list})
output = template.render(context)
return HttpResponse(output)
ちょうどcontのテンプレートをレンダリングするのではなく、通常
render
のショートカットを使用します。 ext = {'tag_list':tag_list} '。 –ありがとう、それはそれを解決しましたが、なぜ私はコンテキストオブジェクトを削除する必要があるか説明することができますか? –
エラーのように、最近のバージョンでは 'template.render'は普通のdictが必要です。 –