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

在不使用<int:pk>的情况下构建django详细视图和列表视图

在不使用<int:pk>的情况下构建Django详细视图和列表视图,可以通过使用Django的通用视图类来实现。

  1. 详细视图(DetailView):
    • 概念:详细视图用于展示特定对象的详细信息。
    • 分类:属于Django的通用视图类之一。
    • 优势:提供了快速构建详细视图的方式,减少了重复的代码编写。
    • 应用场景:适用于需要展示单个对象详细信息的页面,如用户个人资料、文章详情等。
    • 推荐的腾讯云相关产品:无
    • 示例代码:
    • 示例代码:
  • 列表视图(ListView):
    • 概念:列表视图用于展示一组对象的列表信息。
    • 分类:属于Django的通用视图类之一。
    • 优势:提供了快速构建列表视图的方式,减少了重复的代码编写。
    • 应用场景:适用于需要展示多个对象列表的页面,如文章列表、商品列表等。
    • 推荐的腾讯云相关产品:无
    • 示例代码:
    • 示例代码:

以上是在不使用<int:pk>的情况下构建Django详细视图和列表视图的方法。通过继承Django的通用视图类,可以快速构建视图,并通过指定模型、模板和上下文对象等属性来定制视图的行为和展示效果。

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

相关·内容

Django源码学习-8-ListView&DetailView通用视图

Django网络应用开发5项基础核心技术包括模型(Model)设计,URL 设计与配置,View(视图编写,Template(模板)设计Form(表单)使用。...Django通用视图可以减少开发单调性,它抽象出一些视图开发中常用代码模式,这样就可以无需编写大量代码情况下,快速编写出常用视图函数。 ?...② DetailView:显示一个对象某个属性详细信息 用于显示某一 Model 中一个 object 详细信息。...用属性 model 或 queryset 指定要操作 Model 或 queryset; DetailView 会根据 URLConf 中 或 筛选出一个...(self): # get_object() 默认时返回通过 pk 或 slug 筛选出对象(该视图需要操作对象) # Call the superclass

1.4K10

基于类通用视图:ListView DetailView

开发网站过程中,有一些视图函数虽然处理对象不同,但是其大致代码逻辑是一样。比如一个博客一个论坛,通常其首页都是展示一系列文章列表或者帖子列表。...使用视图Django 推荐做法,而且熟悉了类视图使用方法后,能够减少视图函数重复代码,节省开发时间。接下来就让我们把博客应用中视图函数改成基于类通用视图。... Django 中 URL 模式配置方式就是通过 url 函数将 URL 视图函数绑定。...P[0-9]+)/$', views.CategoryView.as_view(), name='category'), ] 访问以下某个分类页面,可以看到依然显示是该分类下全部文章列表使用视图函数...最终传递给浏览器 HTTP 响应就是 get 方法返回 HttpResponse 对象。 还是无法理解么?涉及源码情况下我也只能讲这么多了。

2.6K70

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

后面会详细讲解Django每一部分使用方式API了 本节内容 内置视图处理对象定义 内置视图处理对象使用 源代码分析 1....常规情况下,对应页面中要展示数据列表视图,通过继承Djangodjango.views.generic.ListView对象来实现,页面中要展示数据信息视图,通过继承Djangodjango.views.generic.DetailView...DetailViewResultView中要查询数据,同样也是通过主键编号进行查询,默认变量名称是pk,所以路由中要进行如下修改配置,才可以正常使用 改造polls/urls.py路由模块...我们可以源代码中,看到各种操作一些信息,官方注释用于使用对象数据来渲染详细信息页面的视图对象,继承父类中,也定义了各种属性字段用于控制单个对象数据展示操作 以上两个视图类,都间接继承了View...从基础文件view.py中,我们可以看到,各种视图模板基础处理操作和视图类型封装都有了简洁定义,我们需要做就是项目中,继承这些Django已经封装好对象,快捷完成项目的开发。

88830

python-Django-URL 路由(一)

DjangoURL路由系统还支持命名URL模式,这允许开发人员应用程序中使用可重用URL模式。Django中,URL路由规则通常定义一个名为urls.py文件中。...我们还为这个URL模式指定了一个名称,这个名称可以代码中引用这个URL。Django URL路由详细介绍DjangoURL路由系统提供了一系列工具方法来定义管理应用程序URL路由规则。...第三个URL模式是“books/int:pk/”,它将请求映射到我们之前定义book_detail视图函数,并使用一个整数变量来表示图书主键。...DjangoURL路由规则中,可以使用以下特殊字符:int:pk:表示一个整数值,可以使用pk作为变量名slug:slug:表示一个文本值,可以使用slug作为变量名str:username:表示一个字符串值...Django还提供了许多其他URL路由选项功能,例如在视图函数中使用参数来生成URL,使用URL模式命名空间来区分应用程序使用可选参数来定义URL模式。

29030

Django 官方推荐姿势:类视图

使用视图django 推荐做法,熟悉了类视图使用方法后,能够减少视图函数重复代码,节省开发时间。接下来就让我们把博客应用中视图函数改成基于类通用视图。... Django 中 URL 模式配置方式就是通过 url 函数将 URL 视图函数绑定。...具体实现我们以后会专门开辟一个专栏分析类视图源代码,到时候就能看出 django 使用魔法了)。...path('categories//', views.CategoryView.as_view(), name='category'), ] 访问以下某个分类页面,可以看到依然显示是该分类下全部文章列表...最终传递给浏览器 HTTP 响应就是 get 方法返回 HttpResponse 对象。 还是无法理解么?涉及源码情况下我也只能讲这么多了。

1.3K20

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

使用通用视图:优化代码 detail() ( 教程 第3部分 中) results() 视图 都很简单 – 并且还有上面所提到冗余问题。...通常情况下,当你编写一个 Django 应用时,你会评估下通用视图是否适合解决你问题, 如果适合你就应该从一开始就使用它,而不是进行到一半才重构你代码。...这两个视图分别用于显示两种抽象概念 “显示一系列对象列表 “显示一个特定类型对象详细信息页”。 每个视图都需要知道使用哪个模型数据。因此需要提供将要使用 model 参数。...默认情况下, DetailView 通用视图使用名为 /_detail.html 模板。我们例子中,将使用名为 “polls/poll_detail.html” 模板。...我们也指定了 results 列表视图 template_name – 这确保了 results 视图 detail 视图渲染时会有不同外观,虽然它们有一个 DetailView 隐藏在幕后。

1.4K10

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

此外,有问题模型可以作为一个额外参数传递到URLconf中。 Django通过通用视图来完成下面一些功能: 为单一对象展示列表一个详细页面。...一个单独讨论信息页面就是我们称 之为 “详细视图例子。 在年/月/日归档页面,以及详细页面“最后发表”页面中,展示以数据库为基础对象。...因为这是如此常见 任务,Django提供了一大把内置通用视图,使生成对象展示列表详细视图 变得极其容易。 让我们来看一下这些通用视图”对象列表视图。...然而,通过使用queryset来定义一个过滤对象列表,你可以更加详细 了解哪些对象将会被显示视图中(参见执行查询来获取更多关于查询集对象更对信息,以及参见 基于类视图参考来获取全部 细节)。...如果我们这么做,通过视图使用 “vanilla” 对象列表名称一样模板,这可 能不是我们想要。 另外需要注意,这并不是处理特定出版商图书非常优雅方法。

1.4K40

第 08 篇:开发博客文章详情页

,他点击文章标题或者继续阅读按钮,应该跳转到文章详情页面来阅读文章详细内容。...比如当用户访问 posts/255/ 时(注意 django 并不关心域名,而只关心去掉域名后相对 URL), 匹配 255,那么这个 255 会在调用视图函数 detail 时被传递进去...URL,我们这里 detail 对应规则就是 posts// int 部分会被后面传入参数 pk 替换,所以,如果 Post id(或者 pk,这里 pk id 是等价)...', context={'post': post}) 视图函数很简单,它根据我们从 URL 捕获文章 id(也就是 pk,这里 pk id 是等价)获取数据库中文章 id 为该值记录,然后传递给模板...templates\ blog\ index.html detail.html index 页面博客文章列表标题继续阅读按钮写上超链接跳转链接

43330

Django REST Framework-路由正则表达式

Django REST Framework(DRF)中,路由系统是一个重要概念,用于将请求路由到正确视图函数。路由系统使用正则表达式来匹配URL。...正则表达式中使用一些关键字符符号DRF中也具有特殊含义,我们将在下面的章节中详细讨论这些内容。基本用法DRF中,路由正则表达式通常用于将URL模式与视图函数匹配。...int:pk>/', ArticleView.as_view(), name='article'),]在上面的代码中,我们使用来定义一个名为“pk整数参数,并将其与视图函数相关联。...>/来定义三个名为“year”、“month”“day”整数参数,并将它们与视图函数相关联。...使用这些知识,您可以更好地了解DRF路由系统工作原理,并构建更强大Web API。

69611

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

这个函数可以避免视图函数中硬编码URL。它需要我们给出想要跳转视图名字视图所对应URL模式中需要给该视图提供参数。...如果您有兴趣,可以阅读使用F()避免竞争条件,以了解如何解决此问题; 使用通用视图:减少代码冗余 上面的detail、indexresults视图代码非常相似,有点冗余,这是一个程序猿不能忍受...变成 改进视图 下面将删除旧index、detail results 视图,并用Django通用视图代替: # polls/views.py from django.shortcuts...这里使用两个通用视图:ListViewDetailView。这两个视图分别代表“显示对象列表“显示特定类型对象详细信息页面”抽象概念。 每个通用视图需要知道它将作用于哪个模型。...默认情况下,DetailView泛型视图使用一个称作/_detail.html模板。

2.3K40

第 13 篇:分类、归档标签页

归档页面 要显示某个归档日期下文章列表,思路显示主页文章列表是一样,回顾一下主页视图代码: blog/views.py def index(request): post_list =...注意这里 created_time 是 Python date 对象,其有一个 year month 属性,我们 页面侧边栏:使用自定义模板标签[1] 使用过这个属性。...同时 index 视图中一样,我们对返回文章列表进行了排序。此外由于归档页面首页展示文章形式是一样,因此直接复用了 index.html 模板。...URL detail 视图函数对应 URL 是类似的,这在之前我们讲过,django 会从用户访问 URL 中自动提取 URL 路径参数转换器 规则捕获值,然后传递给其对应视图函数...然后我们通过模型管理器 filter 方法过滤出了该分类下全部文章。同样也首页视图中一样对返回文章列表进行了排序。

79330

Django 学习笔记 1.3 视图模板

1 概况 Django视图概念是「一类具有相同功能模板网页集合」。比如,一个博客应用中,你可能会创建如下几个视图: 博客首页——展示最近几项内容。...问题详情页——展示某个投票问题不带结果选项列表。 问题结果页——展示某个投票结果。 投票处理器——用于响应用户为某个问题特定选项投票操作。... Django 中,网页其他内容都是从视图派生而来。每一个视图表现为一个简单 Python 函数(或者说方法,如果是基于类视图里的话)。...Django 将会根据用户请求 URL 来选择使用哪个视图(更准确说,是根据 URL 中域名之后部分)。 为了将 URL 视图关联起来,Django 使用了 ‘URLconfs’ 来配置。...还有,为什么模型 API 直接抛出 ObjectDoesNotExist 而是抛出 Http404 呢? 因为这样做会增加模型层视图耦合性。

1.2K20

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

django自带view如下表所示: 类名 功能 例子 View 基本View, 可以在任何时候使用 见后面详细介绍 RedirectView 重新定向到其他URL 将访问"/log-in/"用户重新定向到..."/login/" TemplateView 显示Django HTML template 一般网站中使用模板显示页 ListView 显示对象列表 文章列表页 DetailView 显示对象详情 文章详细页...None):返回该视图要显示单个对象.如果提供了queryset,该queryset将作为对象查询源,否则,将使用get_queryset().get_object()从视图所有参数中查找pk_url_kwarg...----- 我们有了ProjectSchedule列表显示后,现在需要添加新增修改操作。...可以直接用Django通用视图UpdateViewCreateView。

3.2K10

二、路由、模板

一、路由系统 settings.py文件中通过ROOT_URLCONF指定根级url配置 urlpatterns是一个url()实例列表 一个url()对象包括: 正则表达式 视图函数 名称name...URL反向解析 如果在视图、模板中使用硬编码链接,urlconf发生改变时,维护是一件非常麻烦事情 解决:在做链接时,通过指向urlconf名称,动态生成链接地址视图使用from django.urls...models.CharField(max_length=16) def get_absolute_url(self): """ 为每个对象生成一个URL 应用:在对象列表中生成查看详细...{'pk':11}) {% url 'app01:detail' pk=12  %} django路由系统其他语言框架有所不同,django中每一个请求url都要有一条路由映射,这样才能将请求交给对一个...,该语言可以实现数据展示 1 列表,字典,类实例使用 2 3 循环:迭代显示列表,字典等中内容 4 5 条件判断:判断是否显示该内容,比如判断是手机访问,还是电脑访问,给出不一样代码。

1.8K80

分类与归档

Post.objects.all() 获取全部文章,而在我们归档分类视图中,我们不再使用 all 方法获取全部文章,而是使用 filter 来根据条件过滤。...注意这里 created_time 是 Python date 对象,其有一个 year month 属性,我们 页面侧边栏:使用自定义模板标签 使用过这个属性。...同时 index 视图中一样,我们对返回文章列表进行了排序。此外由于归档文章列表显示首页是一样,因此我们直接渲染了index.html 模板。...然后我们通过 filter 函数过滤出了该分类下全部文章。同样也首页视图中一样对返回文章列表进行了排序。...将问题详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。 Pythonzhcn 社区新手问答版块 发布帖子。

1.4K90

第 7 篇:文章详情 API 接口

对应规则说明见 使用视图集简化代码),将其路由器中注册后,django-restframework 自动会自动为我们生成对应 API 接口。...贴心是,django-rest-framework 已经帮我们把 retrieve 逻辑 mixins.RetrieveModelMixin 里写好了,直接混入视图集即可: class PostViewSet...get_object 方法通常情况下依据以下两点来筛选出单个资源对象: get_queryset 方法(或者 queryset 属性,get_queryset 方法返回值优先)返回资源列表对象。...lookup_field 属性指定资源筛选字段(默认为 pk)。django-rest-framework 以该字段值从 get_queryset 返回资源列表中筛选出单个资源对象。...更好做好是,给视图集加一个属性,用于配置 action serializer_class 对应关系,通过查表法查找 action 应该使用序列化器。

1K30

Django学习笔记 1.4 表单通用视图

1 编写一个简单表单 1.1 模版中新增表单 更新一下在上一个教程中编写投票详细页面的模板 (“polls/detail.html”) ,增加一个 HTML 元素: {{ question.question_text...return HttpResponseRedirect(reverse('polls:results', args=(question.id,))) 1.3 重定向 results 页面增加显示 还是视图中处理... 2 通用视图 投票应用中 detail results 视图操作都差不多,显得冗余。...让我们将我们投票应用转换成使用通用视图系统,仅仅需要做以下几步来完成转换: 1.转换 URLconf。 2.删除一些旧、不再需要视图。 3.基于 Django 通用视图引入新视图。...('/vote/', views.vote, name='vote'), ] 2.2 改良视图 from django.http import HttpResponseRedirect

78010

Django内置通用类视图及实例

表示对象列表一个页面. 执行这个视图时候,self.object_list将包含视图正在操作对象列表(通常是一个查询集,但不是必须)....None):返回该视图要显示单个对象.如果提供了queryset,该queryset将作为对象查询源,否则,将使用get_queryset().get_object()从视图所有参数中查找pk_url_kwarg...,并重定向到get_success_url(),可以覆盖该方法以上行为之间添加额外动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充表单数据错误信息重新渲染上下文...-----UpdateViewCreateView----- 我们有了ProjectSchedule列表显示后,现在需要添加新增修改操作。...可以直接用Django通用视图UpdateViewCreateView。

2.9K40

Django REST Framework-配置路由示例

示例带有参数视图函数假设我们有一个名为“search”视图函数,它需要一个字符串参数来指定要搜索关键字。我们可以使用DRF路由系统来匹配这个字符串参数。...带有动态参数视图类假设我们有一个名为“article”视图类,它需要一个整数参数来指定要检索文章ID。我们可以使用DRF路由系统来匹配这个整数参数。...//', ArticleDetail.as_view(), name='article_detail'),]在上面的代码中,我们使用来定义一个名为“pk整数参数,并将其与视图类...现在,当客户端请求/articles/123/时,它将调用ArticleDetail视图get方法,并将“123”作为pk参数传递给它。...带有多个参数视图函数假设我们有一个名为“filter”视图函数,它需要两个参数来指定要过滤列表要过滤条件。我们可以使用DRF路由系统来匹配这些参数。

28120
领券