基于类的通用视图 - 展平索引
一、ContextMixin
django.views.generic.base.ContextMixin
属性
extra_context
Django 2.0中的新功能:
要包含在上下文中的字典。这是指定一些简单上下文的便捷方式 as_view()。用法示例:
from django.views.generic import TemplateView
TemplateView.as_view(extra_context={'title': 'Custom Title'})
方法
get_context_data(** kwargs)
返回表示模板上下文的字典。提供的关键字参数将构成返回的上下文。用法示例:
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['number'] = random.randrange(1, 100)
return context
二、TemplateResponseMixin
django.views.generic.base.TemplateResponseMixin
TemplateResponse给定适当的上下文,提供构造a的机制 。要使用的模板是可配置的,可以通过子类进一步自定义。
属性
template_name
要由字符串定义使用的模板的全名。不定义template_name会引发 django.core.exceptions.ImproperlyConfigured异常。
template_engine
该NAME模板引擎的使用加载的模板。template_engine作为using 关键字参数传递给response_class。默认是None,它告诉Django在所有配置的引擎中搜索模板。
response_class
render_to_response方法返回的响应类。默认是TemplateResponse。TemplateResponse实例的模板和上下文可以稍后更改(例如,在 模板响应中间件中)。
如果需要自定义模板加载或自定义上下文对象实例化,请创建TemplateResponse子类并将其分配给 response_class。
content_type
用于响应的内容类型。content_type作为关键字参数传递给response_class。默认是None- 意味着Django使用DEFAULT_CONTENT_TYPE。
方法
render_to_response(上下文,** response_kwargs)
返回一个self.response_class实例。
如果提供了任何关键字参数,它们将被传递给响应类的构造函数。
调用get_template_names()以获取将搜索的模板名称列表,以查找现有模板。
get_template_names()
返回呈现模板时要搜索的模板名称列表。将使用找到的第一个模板。
如果template_name指定,则默认实现将返回包含template_name(如果已指定)的列表。