class BaseListView(MultipleObjectMixin, View):
"""A base view for displaying a list of objects."""
def get(self, request, *args, **kwargs):
self.object_list = self.get_queryset()
allow_empty = self.get_allow_empty()
if not allow_empty:
# When pagination is enabled and object_list is a queryset,
# it's better to do a cheap query than to load the unpaginated
# queryset in memory.
if self.get_paginate_by(self.object_list) is not None and hasattr(self.object_list, 'exists'):
is_empty = not self.object_list.exists()
else:
is_empty = not self.object_list
if is_empty:
raise Http404(_('Empty list and “%(class_name)s.allow_empty” is False.') % {
'class_name': self.__class__.__name__,
})
context = self.get_context_data()
return self.render_to_response(context)
所以我从文档中获取了这段代码,我对render_to_response()方法感兴趣,我有环顾四周,我相信它构造了一些指定的Response类(templateReponseMixin.response_class属性)或默认Response类(TemplateResponse类)的实例,可以比我更有经验的人告诉我Response实例是否也在render_to_response()中呈现方法并返回,或者它将由另一个中间件代码呈现?
与您的问题有关的两件事:
render
将request
对象传递到模板上下文中,而此方法不是。