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

Django的ListView超详细用法(含分页paginate功能)

针对这种常用场景,提供了一个更快速便捷的方式,那就是ListView,用法如下: from django.views.generic import ListView class UsersView(ListView...代码如下: from django.views.generic import ListView class UsersView(ListView): model = UserProfile...(self): # 重写get_queryset方法 # 获取所有is_deleted为False的用户,并且以时间倒序返回数据 return UserProfile.objects.filter...(is_deleted=False).order_by('-create_time') 如果你要对数据做更多维度的过滤,比如:既要用户是某部门的,还只要获取到性别是男的,这时候,可以使用Django提供的...场景四 我想要限制接口的请求方式,比如限制只能GET访问,代码如下: from django.views.generic import ListView class UsersView(ListView

77800
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django来敲门~第一部分【9.使用Django内置视图处理对象简化开发】

    后面会详细讲解Django每一部分的使用方式和API了 本节内容 内置视图处理对象的定义 内置视图处理对象的使用 源代码分析 1....常规情况下,对应页面中要展示数据列表的视图,通过继承Django的django.views.generic.ListView对象来实现,页面中要展示数据信息的视图,通过继承Django的django.views.generic.DetailView...视图对象的使用 经过上述的改造,我们可以看到视图处理函数已经变得非常的简洁,但是存在这样一个问题,IndexView处理类中的数据,我们可以看懂是通过get_queryset()函数进行查询的,然后自动复制给变量...DetailView和ResultView中的要查询的数据,同样也是通过主键编号进行查询的,默认的变量名称是pk,所以在路由中要进行如下的修改配置,才可以正常使用 改造polls/urls.py路由模块...源码分析 此时,会有个问题困扰着我们,为什么要继承视图处理类,为什么要继承不同的处理类ListView和DetailView?

    90630

    django 入门:通用视图类重构视图

    :视图及模版》 《django入门:Admin管理系统及表单》 终于到最后一部分了,这部分我们将通过 django 自带的通用视图类替换之前写的视图函数,对视图进行重构 2 利用 django 通用视图类创建类视图...1.创建视图类 import markdown from django.shortcuts import render from django.views.generic import ListView...类进行修改 # 基本属性同 HomeView 相同,也可以直接继承 HomeView 然后复写 get_queryset() 方法实现 class CategoryView(ListView):...,通过复写该方法,改变默认行为 def get_queryset(self): # 类视图中,从 url 捕获的命名组参数值保存在实例的 kwargs 中,是一个字典...P[0-9]+)/$', views.PostDetailView.as_view(), name='post'), ] 修改完后的界面应该和之前的效果是一样的 ? 列表界面 ?

    89120

    基于 Django 的个人网站(4)

    上回说到,虽然已经基本上把显示的格式改的差不多了,但是界面还是不够美观,同时也没有实现分类页面和检索文章页面,今天我们先来实现分类页面和检索文章的页面。 ?...分类页面的实现 考虑到分类页面是一个用来展示属于当前类别的所有文章,和首页一样的格式,就是显示的列表项十有八九会比首页少,因此分类页面的视图直接继承首页的视图,然后重写 get_queryset 方法就完事了...,分类页面从逻辑上来说就已经实现了,可能会有排版和导包的问题,最后我会给出 views.py 的源码和 html 文件的源码,我们先不管了,接着去实现搜索页面,最后再一起测试。...——其实还是和主页面差不多,同样继承主页面对应的视图,然后重写 get_queryset 方法就完事了,代码如下: class SearchView(IndexView): def get_queryset...,接下来我就给出视图、模板和 URL 的完整代码,首先是视图 personal_website\views.py,代码如下: from django.db.models import Q from django.views.generic

    1.1K20

    Python-Django

    from blog.models import Article, Tag, Category from django.views.generic import ListView, DetailView...import markdown2 class IndexView(ListView): # template_name属性用于指定使用哪个模板进行渲染 template_name =...,如果不要进行相应的处理,直接制定model就行了,get_context_data可以添加一些额外的字段,比如以后我们要在首页的侧边栏显示目录和标签,所以这里要添加一个category_list和tag_list...在模板文件中我们可以这样使用,views.py中已经指定了context_object_name = "article_list",并且已经在get_queryset()中进行了markdown处理...增加基本的用户认证功能。 零碎知识点 null和blank的区别 null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空。

    73420

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

    类视图 在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图。使用类视图可以使用类的一些特性,比如继承等。...在网站开发中,经常会出现需要列出某个表中的一些数据作为列表展示出来。比如文章列表,图书列表等等。在Django中可以使用ListView来帮我们快速实现这种需求。...get_context_data:获取上下文的数据。 get_queryset:如果你提取数据的时候,并不是要把所有数据都返回,那么你可以重写这个方法。将一些不需要展示的数据给过滤掉。...3.2 Paginator和Page类 Paginator和Page类都是用来做分页的。...他们在Django中的路径为django.core.paginator.Paginator和django.core.paginator.Page。

    99120

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

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

    1.4K41

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

    Django尝试从model和 template层移除一些单调的情况,但是Web开发者依然会在view(视图)层经历这种厌烦。 Django的通用视图被开发用来消除这一痛苦。...的确,大多数来自Django开发新手 的问题是如何能使得通用视图的使用范围更广。...在一个通用视图上的context_object_name属性指定了要使用的定了上下文变量: # views.py from django.views.generic import ListView from...如果你想要展现某个出版商的所有图书列表,你可以使用 同样的手法: from django.views.generic import ListView from books.models import Book...相当方便的是, ListView 有一个get_queryset() 方法来供我们重写。在之前,它只是返回一个queryset属性值,但是现在我们可以添加更多的逻辑。

    1.4K40

    diango之基于内置视图CBS编程

    使用django自身的cbvs cbvs是可扩展的,但在也增加了复杂度,有时甚至出现8个import引入关系。...django自带的view如下表所示: 类名 功能 例子 View 基本View, 可以在任何时候使用 见后面详细介绍 RedirectView 重新定向到其他URL 将访问"/log-in/"的用户重新定向到..."/login/" TemplateView 显示Django HTML template 一般网站中使用模板显示的页 ListView 显示对象列表 文章列表页 DetailView 显示对象详情 文章详细页...ListView简介 listview是一个展示列表的view,返回的是一个template,包含两个关键方法: def get_context_data(self, **kwargs):...在Django中, 我们可以使用mixin为CBVs提供更多的扩展性, 当然在类继承过程中, 我们推荐以下原则: Django自身提供的View永远在最右边 mixin依次在以上view的左边 mixin

    71430
    领券