Django 简单的mixins(ContextMixin、TemplateResponseMixin)

25 篇文章 0 订阅
13 篇文章 0 订阅

基于类的通用视图 - 展平索引

一、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(如果已指定)的列表。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值