首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django通用ListView。当我想向类AdListView(OwnerListView)添加第二个get()方法时。它失败了

Django通用ListView是Django框架中的一个视图类,用于展示一个对象列表。它是基于类的视图,提供了一些默认的实现,可以方便地进行数据查询和展示。

当你想向类AdListView(OwnerListView)添加第二个get()方法时失败了,可能是因为你的代码存在一些问题。以下是一些可能导致失败的原因和解决方法:

  1. 方法名冲突:Django通用ListView已经默认实现了get()方法,如果你想添加一个新的get()方法,可能会与默认的方法名冲突。解决方法是修改方法名,避免与默认方法名冲突。
  2. 继承关系错误:你提到你想向类AdListView(OwnerListView)添加第二个get()方法,可能是继承关系有问题。请确保AdListView正确继承了OwnerListView,并且在AdListView中添加了你想要的get()方法。
  3. 语法错误:检查你添加的get()方法是否存在语法错误,例如缺少冒号、缩进错误等。确保代码的语法是正确的。
  4. 路由配置错误:如果你的视图无法访问,可能是因为路由配置有问题。请检查你的URL配置,确保正确地将URL与AdListView关联起来。

总结:在向类AdListView(OwnerListView)添加第二个get()方法时失败,你需要仔细检查代码,确保没有方法名冲突、继承关系正确、语法正确,并且正确配置了URL路由。如果问题仍然存在,可以提供更多的错误信息和代码片段,以便更好地帮助你解决问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

django 1.8 官方文档翻译: 3-4-2 内建显示视图

generic views reference文档详细 介绍通用视图以及的选项;本篇文档剩余的部分将会介绍自定义以及扩展通用 视图的常见方法。...在一个通用视图上的context_object_name属性指定要使用的定上下文变量: # views.py from django.views.generic import ListView from...DetailView通用视图提供一个publisher对象给context,但是我们如何在模板中添加附加信息呢?...然而,如果任何一个尝试在超持有一个键的情况下覆写(在调用超之后),这个的任何子类都需要显式于超之后设置,如果你想要确保他们覆写了所有超的话。...相当方便的是, ListView 有一个get_queryset() 方法来供我们重写。在之前,只是返回一个queryset属性值,但是现在我们可以添加更多的逻辑。

1.4K40

基于通用视图:ListView 和 DetailView

于是,Django 把这些相同的逻辑代码抽取了出来,写成了一系列的通用视图函数,即基于通用视图(Class Based View)。...使用视图是 Django 推荐的做法,而且熟悉视图的使用方法后,能够减少视图函数的重复代码,节省开发时间。接下来就让我们把博客应用中的视图函数改成基于通用视图。...将 index 视图函数改写为视图 针对这种从数据库中获取某个模型列表数据(比如这里的 Post 列表)的视图,Django 专门提供一个 ListView 视图。...比如 url(r'^$', views.index, name='index'),的第一个参数是 URL 模式,第二个参数是视图函数 index。...首先我们为 PostDetailView 指定一些属性的值,这些属性的含义和 ListView 中是一样的,这里不再重复讲解。 紧接着我们覆写了 get 方法

2.6K70
  • Django 官方推荐的姿势:视图

    于是,django 把这些相同的逻辑代码抽取了出来,写成了一系列的通用视图函数,即基于通用视图(Generic Class Based View)。...使用视图是 django 推荐的做法,熟悉视图的使用方法后,能够减少视图函数的重复代码,节省开发时间。接下来就让我们把博客应用中的视图函数改成基于通用视图。...将 index 视图函数改写为视图 针对这种从数据库中获取某个模型列表数据(比如这里的 Post 列表)的视图,Django 专门提供一个 ListView 视图。...比如 path('', views.index, name='index'),的第一个参数是 URL 模式,第二个参数是视图函数 index。对 url 函数来说,第二个参数传入的值必须是一个函数。...首先我们为 PostDetailView 指定一些属性的值,这些属性的含义和 ListView 中是一样的,这里不再重复讲解。 紧接着我们覆写了 get 方法

    1.3K20

    视图 vs. 函数视图

    如上面代码所示, 当我们把视图绑定到 url conf 使用的 as_view 挂载其实返回的是一个函数....这样就太像基于函数的视图, 当然view_function其实就是函数. as_view 方法是基于的外部接口, 他返回一个视图函数....调用后, 视图将请求传递给dispatch() 方法,该方法将根据请求的类型(GET, POST, PUT, etc)执行响应的方法(详情参考django/views/generic/base.py,...如果方法GET 则执行 get() 方法, 如果为 POST 则执行 post() ; views.py Python from django.views import View class ContactView...通用视图的实现, 使用大量的 mixins. 这一点, 仁者见仁智者见智. 可以查看基于通用视图-扁平索引 , 来查看所有的视图的方法. 非常实用,建议把 这个页面放到浏览器书签栏里.

    2.5K10

    django 1.8 官方文档翻译: 3-4-1 基于的视图

    基于的视图简介 内建的基于通用视图 使用基于的视图处理表单 使用混合来扩展视图 基本的示例 Django 提供基本的视图,它们适用于广泛的应用。...所有的视图继承自View负责连接视图到URL、HTTP 方法调度和其它简单的功能。RedirectView用于简单的HTTP 重定向,TemplateView扩展基来渲染模板。...子类化通用视图 第二种,功能更强一点的使用通用视图的方式是继承一个已经存在的视图并在子类中覆盖其属性(例如template_name)或方法(例如get_context_data)以提供新的值或方法。...Django 有一个通用视图TemplateView来做这件事,所以我们可以简单地子类化,并覆盖模板的名称: # some_app/views.py from django.views.generic...TemplateView是一个不是一个函数,所以我们将URL 指向的as_view()方法让基于的视图提供一个类似函数的入口: # urls.py from django.conf.urls

    86430

    Django 1.10中文文档-第一个应用Part4-表单和通用视图

    Django为你提供一个简单的方法来避免这个困扰,那就是在form表单内添加一条{% csrf_token %}标签,标签名不可更改,固定格式,位置任意,只要是在form表单内。...将下面的代码添加到polls/views.py: # polls/views.py from django.shortcuts import get_object_or_404, render from...由于这个过程是如此的常见,Django又很善解人意的帮你想办法偷懒提供一种快捷方式,名为generic views系统。...这里使用两个通用视图:ListView和DetailView。这两个视图分别代表“显示对象列表”和“显示特定类型对象的详细信息页面”的抽象概念。 每个通用视图需要知道它将作用于哪个模型。...现在你可以运行开发服务器,然后试试基于泛型视图的应用程序。 更多关于通用视图的详细信息,请查看通用视图文档。

    2.4K40

    Django内置的通用视图CBV及示例

    方法: get_queryset():返回用来获取本视图显示对象的queryset.如果设置queryset属性,get_queryset()默认返回的值. get_object(queryset=...get_context_data(**kwargs):返回显示对象的上下文数据.这个方法的基本实现需要object属性被视图赋值(即使是None).返回一个包含这些内容的字典: object:这个视图显示的对象...,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充的表单数据和错误信息重新渲染上下文...显示确认页面并删除现有对象的视图.仅当请求方法为POST,才会删除给定的内容.如果此视图是通过GET提取的,它将显示一个确认页面,其中包含POST到同一网址的表单....可以直接用Django通用视图里的UpdateView和CreateView。

    3.2K10

    Django内置的通用视图及实例

    方法: get_queryset():返回用来获取本视图显示对象的queryset.如果设置queryset属性,get_queryset()默认返回的值. get_object(queryset=...get_context_data(**kwargs):返回显示对象的上下文数据.这个方法的基本实现需要object属性被视图赋值(即使是None).返回一个包含这些内容的字典: object:这个视图显示的对象...,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充的表单数据和错误信息重新渲染上下文...显示确认页面并删除现有对象的视图.仅当请求方法为POST,才会删除给定的内容.如果此视图是通过GET提取的,它将显示一个确认页面,其中包含POST到同一网址的表单....可以直接用Django通用视图里的UpdateView和CreateView。

    2.9K40

    django 1.8 官方文档翻译: 1-2-4 编写你的第一个Django应用,第4部分

    在 polls/views.py 中添加如下代码: from django.shortcuts import get_object_or_404, render from django.http import...请注意 Django 也同样的提供通过 request.GET 获取 GET 数据的方法 – 但是在代码中我们明确的使用了 request.POST 方法,以确保数据是通过 POST 方法来修改的。...指定我们想要的跳转的视图函数名以及视图函数中 URL 模式相应的可变参数。...由于这类现象很 常见,因此 Django 提供一种快捷方式,被称之为“通用视图”系统。 通用视图抽象常见的模式,以至于你不需要编写 Python 代码来编写一个应用。...同样的,~django.views.generic.list.ListView 通用视图使用的默认模板名为 /_list.html ;我们指定 template_name 参数告诉

    1.5K10

    Django Pagination 简单分页

    Django 内置的 Pagination 能够帮助我们实现简单的分页功能。 Paginator 的常用方法 分页功能由 Django 内置的 Paginator 提供。...这个位于 django/core/paginator.py,需要使用它,只需在适当的地方导入这个即可。下面的代码摘自 Django 的官方文档中 Pagination 的示例。...: That page contains no results 更多方法和属性请参阅 Django Pagination 的官方文档。...不过在我们的博客项目中,我们不必写这些代码。回顾在 基于通用视图:ListView 和 DetailView 中的内容,我们已将视图函数转换成了视图。...而视图 ListView 已经帮我们写好了上述的分页逻辑,我们只需通过指定 paginate_by 属性来开启分页功能即可,即在视图中指定 paginate_by 属性的值: blog/views.py

    2.2K50

    概述

    我们可以把这些操作逻辑写在一个直观的 Python 函数里,但是 Django 开发者们意识到很多视图函数中的逻辑代码都是重复和通用的,因此在较早的版本中,Django 便开始引入 Class-based...视图比函数视图提供更加高层的抽象,它将上边提及的数据库操作、表单处理、模板渲染等通用操作抽取为视图中的方法,函数的参数、状态等则抽取为视图的属性,最终通过一个 as_view 方法将整个视图转换为一个可调用对象...即使是通读过官方文档的视图部分,新手在使用过程中依然感到有一定障碍,无法灵活运用各种内置的通用视图,以及在必要通过继承的方式拓展视图(至少对我来说,刚接触视图就是这种状态)。...举一个例子,ListView 主要用于从数据库中获取多条记录,的继承关系如下: ContextMixin --> MultipleObjectMixin + |...总结 我们从一个很高的层面概览 Django 视图的源码结构和继承体系,建立这样一个宏观的源码结构地图有助于接下来对源码细节的深入探索。

    1.3K70

    拓展 Django Pagination 实现完善的分页效果

    但想实现下面这样的一个比较完善的分页导航Django Pagination 内置的 API 已经无法满足需求。...于是 Django 把这些相同的逻辑代码抽取了出来,写成了一系列的通用视图函数,即基于通用视图。本文将使用到通用视图 ListView。...ListView 用来从数据库获取一个对象列表,而对列表进行分页的过程也是比较通用的,ListView 已经实现分页功能。...第二个参数是被调用的视图函数,其类型必须是一个函数。而我们写的 IndexView 视图是一个,为了将其转换成一个函数,只需要调用其父中的 as_view 方法即可。...在视图中,这个需要传递的模板变量字典是通过 get_context_data 获得的, 所以我们复写该方法,以便我们能够自己再插入一些我们自定义的模板变量进去。

    2K60

    python-Django-视图函数(二)

    视图视图是一种更高级别的视图函数类型,使用基于方法来处理HTTP请求。视图通常比函数视图更灵活和可扩展,并提供更好的代码组织和可重用性。...Django提供许多内置的视图,如DetailView和ListView,可以用于快速创建常见的Web应用程序功能。...(TemplateView): template_name = 'hello.html'在这个示例中,我们定义一个名为HelloView的视图,继承自Django的TemplateView...Django REST框架是一种流行的用于构建Web API的Django扩展,提供许多内置的API视图和工具。...视图函数装饰器Django提供许多有用的视图函数装饰器,它们可以用于修改视图函数的行为或添加额外的功能。

    63332

    Django实战篇-论坛话题视图

    上一节的注册中,使用了 form 表单,在 标签中,定义 method 属性告诉浏览器想如何与服务器通信。...HTTP 规范定义几种 request methods 请求方法,需要使用 GET 和 POST。...GET 用于从服务器请求数据,每当点击一个链接或者直接在浏览器中输入一个网址,就创建了一个 GET 请求。 POST 用于想更改服务器上的数据,每次发送数据给服务器都会导致资源状态变化。...应用程序每次接收一个 POST ,都先检查 CSRF Token,如果这个 request 没有 token,或者这个 token 是无效的,它就会抛弃提交的数据。...基于通用视图 from django.views.generic import UpdateView, ListView ① 主页 class BoardListView(ListView):

    68130

    基于django的视频点播网站开发-step4-首页功能

    在本讲中,我们开始首页功能的开发,在开发过程中,大家将会学习到Django中的通用视图、分页对象paginator以及foreignKey外键的使用。 效果演示 [16851ab0d057a5d6?...显示列表数据非常简单,我们使用django中内置的视图模版ListView来显示,首先在view.py中编写IndexView,用它来显示列表数据。...context_object_name = 'video_list' 此处,我们使用了django提供的通用视图ListView, ListView使用很简单,只需要我们简单的配置几行代码,即可将数据库里面的数据渲染到前端...显示结果如下 [首页展示] 分类功能 在写分类功能之前,我们先学习一个回调函数 get_context_data() 这是ListView视图中的一个函数,在 get_context_data() 函数中...c={{ item.id }} 这里用c代表分类的id,点击后,会传到视图中,在视图中,我们使用 get_queryset() 函数,将get数据取出来。

    1.3K41

    Django学习-第十二讲:视图高级(二)视图、模板视图、列表视图、和分页

    视图 在写视图的时候,Django除了使用函数作为视图,也可以使用作为视图。使用视图可以使用的一些特性,比如继承等。...1.1 View django.views.generic.base.View是主要的视图,所有的视图都是继承自他。如果我们写自己的视图,也可以继承自他。...然后再根据当前请求的method,来实现不同的方法。比如这个视图只能使用get的方式来请求,那么就可以在这个中定义get(self,request,*args,**kwargs)方法。...比如你的视图只支持get方法,而出现post方法,那么就会把这个请求转发给http_method_not_allowed(request,*args,**kwargs)。...在Django中可以使用ListView来帮我们快速实现这种需求。

    97120
    领券