ContextMixin
¶django.views.generic.base。
ContextMixin T0> ¶ T1>
方法
get_context_data T0>( ** kwargs T1>)¶ T2>
返回用来表示模板的Context 的字典。 传递的关键字参数将组成返回的Context。 示例用法:
def get_context_data(self, **kwargs):
context = super(RandomNumberView, self).get_context_data(**kwargs)
context['number'] = random.randrange(1, 100)
return context
所有基于类的通用视图的这个模板Context 都包含一个View
变量指向view
实例。
在适当的位置使用alters_data
注意,将视图实例包含在模板Context 中可能将有潜在危险的方法暴露给模板作者。 为了避免在模板中被调用类似这样的方法,可以在这些方法上设置alters_data=True
。 更多信息,参见rendering a template context 的文档。
TemplateResponseMixin
¶django.views.generic.base.
TemplateResponseMixin
¶根据合适的Context,提供一种构造TemplateResponse
的机制。 使用的模板可以配置,而且在子类中可以进一步自定义。
属性
template_name
¶字符串形式的模板名称。 如果没有定义template_name
将引发一个django.core.exceptions.ImproperlyConfigured
异常。
template_engine
¶用于加载模板的模板引擎的NAME
。 response_class
将作为using
关键字参数传递给template_engine
。 默认值为None
,它告诉Django在所有配置的引擎中搜索模板。
response_class
¶render_to_response
方法返回的响应类。
默认为TemplateResponse
。 TemplateResponse
实例的模板和Context 可以在后面改动(例如,在template response middleware中)。
如果你需要自定义模板的加载或者自定义Context 对象的实例化,你可以创建一个response_class
的子类并将它赋值给 TemplateResponse
。
content_type
¶响应使用的Content-Type。 content_type
将作为关键字参数传递给response_class
。 默认为None
—— 表示Django 将使用DEFAULT_CONTENT_TYPE
。
方法
render_to_response
(context, **response_kwargs)¶返回一个self.response_class
实例。
提供的任何参数都将传递给response_class。
调用get_template_names()
可以获得模板名称的列表,在查找存在的模板时会搜索这个列表。
get_template_names
()¶返回模板名称的一个列表,在查找存在的模板时会搜索这个列表。 将使用找到的第一个模板。
如果指定template_name
,默认的实现将返回包含 template_name
的一个列表。
2017年9月6日