Simple mixins

ContextMixin

clsss django.views.generic.base.ContextMixin

属性

extra_context

指定被包含在context中的字典。这是在as_view()中指定一些简单上下文的便捷方法。 用法示例:

from django.views.generic import TemplateView
TemplateView.as_view(xtra_context = {'title':'自定义标题'})

方法

get_context_data(**kwargs)

返回一个字典,充当模板中的context。提供的参数将构成返回的context。 用法示例:

def get_context_data(self,** kwargs):
    context = super().get_context_data(** kwargs)
    context ['number'] = random.randrange(1,100)
    return context

所有基于类的通用视图的模板上下文都包含一个指向View实例的视图变量。

TemplateResponseMixin

class django.views.generic.base.TemplateResponseMixin
传递适当的context,提供一种构造TemplateResponse的机制。使用的模板是可配置的,并且可以由子类进一步自定义

属性

template_name

使用的模板名,应为字符串类型。不定义template_name将引发django.core.exceptions.ImproperlyConfigured

template_engine

用于加载模板的模板引擎。 template_engine作为using关键字参数传递给response_class。默认值为None,它告诉Django在所有配置的引擎中搜索模板。

response_class

由render_to_response方法返回的响应类。默认值为TemplateResponse。
如果需要自定义模板加载或自定义context顺利化对象,请创建一个TemplateResponse子类并将其分配给response_class。

content_type

用于响应的内容类型。content_type作为关键字参数传递给response_class。默认值为None ——意味着Django使用DEFAULT_CONTENT_TYPE

方法

render_to_response(context,** response_kwargs)

返回一个self.response_class实例。

如果提供了关键字参数,它们将被传递到响应类的构造函数。

调用get_template_names()以获得将搜索的模板名称列表,以查找现有的模板。

get_template_names()

返回呈现模板时要搜索的模板名称的列表。将使用找到的第一个模板。

如果指定了template_name,则默认实现将返回一个包含template_name的列表(如果已指定)。