简单的Mixin¶
ContextMixin
¶
- class django.views.generic.base.ContextMixin¶
属性
- extra_context¶
一个要包含在上下文中的字典。这是一种在
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
所有基于类的通用视图的模板上下文都包含一个
view
变量,该变量指向View
实例。在适当的地方使用
alters_data
请注意,在模板上下文中使用视图实例可能会将潜在的危险方法暴露给模板作者。为防止在模板中调用此类方法,请在这些方法上设置
alters_data=True
。有关更多信息,请阅读有关渲染模板上下文的文档。
TemplateResponseMixin
¶
- class django.views.generic.base.TemplateResponseMixin¶
提供了一种根据合适的上下文构造
TemplateResponse
的机制。要使用的模板是可配置的,并且可以被子类进一步定制。属性
- 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使用'text/html'
。
方法
- render_to_response(context, **response_kwargs)¶
返回一个
self.response_class
实例。如果提供了任何关键字参数,它们将传递给响应类的构造函数。
调用
get_template_names()
以获取将搜索以查找现有模板的模板名称列表。
- get_template_names()¶
返回渲染模板时要搜索的模板名称列表。将使用找到的第一个模板。
默认实现将返回一个包含
template_name
(如果已指定)的列表。