首页 > 其他分享 >super()在 Django 模板视图中使用

super()在 Django 模板视图中使用

时间:2023-05-29 14:35:56浏览次数:30  
标签:get super 视图 Django context data 模板

Django 模板视图用于呈现 HTML 模板并将数据传递给它们以供显示。super()您可以在 Django 模板视图中使用,轻松地从父模板视图继承属性和方法,并根据需要自定义或扩展它们。

Django 模板视图的一种常见用法super()是在get_context_data方法中,该方法用于将数据传递给模板以进行渲染。例如,考虑一个ProductView使用子类调用的 Django 模板视图BookView。他们ProductView可能有一个title变量,而他们BookView可能想添加一个额外的author变量。在 中BookView,我们可以使用super()调用get_context_data的方法ProductView并传入title变量,同时也可以添加author特定于 的变量BookView

class ProductView(TemplateView):
    template_name = 'product.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['title'] = 'Product'
        return context

class BookView(ProductView):
    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['author'] = 'John Doe'
        return context

以这种方式使用super().get_context_data(**kwargs)允许从BookView继承title变量ProductView.

标签:get,super,视图,Django,context,data,模板
From: https://www.cnblogs.com/weifeng1463/p/17440313.html

相关文章

  • django 中的collectstatic
    django中的collectstatic在Django中,"collectstatic"是一个管理命令,用于收集和复制项目中的静态文件到一个指定的静态文件目录,以便于部署。当你开发一个Django项目时,通常会使用许多静态文件,如CSS样式表、JavaScript文件、图像等。这些文件通常存储在每个应用程序的"static"目录......
  • 高级视图 (日历视图)
    树视图tree视图表现出来是列表视图,列表中一行一纪录。可以根据每行纪录的某字段值不同而把每行以不同样式显示。decoration-{样式}="条件"样式主要有:bf(font-weight:bold):字体加粗it(font-style:italic):斜体字danger:红色字体info:蓝色字体muted:灰色字体primary:紫色字体su......
  • Django用户认证组件 (auth模块)
    1、导入auth模块#认证模块fromdjango.contribimportauth#对应数据库用户表,可以继承扩展fromdjango.contrib.auth.modelsimportUser2、创建用户对象create():创建一个普通用户,密码是明文的。create_user():创建一个普通用户,密码是密文的。create_superu......
  • DRF之通过GenericAPIView的视图子类实现数据的增删改查接口
    1、安装DRFpipinstalldjangorestframework2、将DRF注册到APP中INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','djan......
  • django多表关联实战
    定义模型类:fromdjango.dbimportmodelsfromdjango.contrib.auth.modelsimportUser'''----------Django-ORM多表关联----------''''''需要创建的表:1.书籍表2.出版社表3.作者表4.作者详情表'''�......
  • django中的多表关联
    一、三种关联情况 二、ORM的正向操作和反向操作1.正向操作:一个模型中定义了一个外键,通过该模型对该外键操作的操作叫做正向操作。2.反向操作:被外键所关联的模型,通过该模型对外键所在模型的操作叫做反向操作。  -------------------  关联表的详细使用方式,引用:“ ......
  • django_ORM_数据库取值
    #查询方法1:直接查询models.Info_Phone.objects.filter(mobile="157137632",id=2)#查询方法2:把查询条件放在字典里面data_list={"mobile":"157137632","id":2}models.Info_Phone.objects.filter(**data_l......
  • 从gitee上拉取django项目到Linux中
    1.从gitee拉取django项目: 2.安装虚拟环境: 3.创建虚拟环境: 4.进入虚拟环境: 5.安装项目模块: ......
  • {{ form.as_ul }} – Render Django Forms as list
    DjangoformsareanadvancedsetofHTMLformsthatcanbecreatedusingpythonandsupportallfeaturesofHTMLformsinapythonicway.RenderingDjangoFormsinthetemplatemayseemmessyattimesbutwithproperknowledgeofDjangoFormsandattribut......
  • pongo2 类似django 语法的golang 模版引擎
    pongo2类似django语法的golang模版引擎,当前兼容django1.7同时还包含了强大的三方生态支持(比如beego,gin,echo框架。。。)参考使用main.gopackagemain import("fmt""log" "github.com/flosch/pongo2/v6") funcmain(){tpl,e......