简单混入¶
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。Note that having the view instance in the template context may expose potentially hazardous methods to template authors. To prevent methods like this from being called in the template, set
alters_data=Trueon those methods. For more information, read the documentation on rendering a template context.
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实例。如果提供任何关键字参数,它们将被传递给响应类的构造函数。
Calls
get_template_names()to obtain the list of template names that will be searched looking for an existent template.
- get_template_names()¶
返回渲染模板时要搜索的模板名称列表。找到的第一个模板将被使用。
默认的实现将返回一个包含
template_name的列表(如果指定了)。