1
私のモデルではHorario
クラスが定義されており、テンプレートディレクトリにhorario_list.html
があります。私はこのクラスを定義する 場合は、すべてが正常に動作します:リストビューにtemplate_nameが必要なのは
class HorariosView(generic.ListView):
model = Horario
def get_queryset(self):
return Horario.objects.all()
をしかし、私は例外TemplateDoesNotExist
を取得し、この
class HorariosView(generic.ListView):
model = Horario
def get_queryset(self):
return list(Horario.objects.all())
のように、リストによって戻り値の型を変更した場合。
私は私のクラスでtemplate_name
プロパティを追加する場合は今、すべてが再び動作します。
class HorariosView(generic.ListView):
model = Horario
template_name = 'horario_list.html'
def get_queryset(self):
return list(Horario.objects.all())
とき、なぜtemplate_name
が必要ですか?
これは動作を説明しています。戻り値の型については、[doc for get_queryset](https://docs.djangoproject.com/en/1.11/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin .get_queryset)は 'このビューの項目のリストを取得します。これは反復可能でなければならず、クエリーセット(クエリーセット固有の動作が有効になる)である可能性があります。 ' – matiasg
2回目の読書では、「テンプレート名」がこの「クエリーセット固有の動作」の1つである可能性があります。 – matiasg