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

Django -在运行测试时,必须使用对象pk或slug调用通用详细视图

Django是一个基于Python的开源Web应用框架,它提供了一套完整的开发工具和库,用于快速构建高效、安全的Web应用程序。

在Django中,通用详细视图(Generic Detail Views)是一种用于显示特定对象详细信息的视图。在运行测试时,如果要调用通用详细视图,必须使用对象的主键(pk)或者唯一标识符(slug)来进行调用。

主键(pk)是每个数据库表中唯一标识每个记录的字段。它可以是一个自动生成的整数值,也可以是其他类型的唯一标识符。通过使用对象的主键来调用通用详细视图,可以确保获取到正确的对象信息。

唯一标识符(slug)是一个用于在URL中标识对象的字段。它通常是对象的名称或标题的简短、URL友好的版本。通过使用对象的唯一标识符来调用通用详细视图,可以使URL更加可读和友好。

使用通用详细视图的优势在于它们提供了一种简单且一致的方式来显示对象的详细信息,无需编写大量重复的代码。通用详细视图还提供了一些内置的功能,如自动处理URL参数、处理HTTP请求、渲染模板等,使开发过程更加高效。

通用详细视图适用于各种应用场景,例如显示文章详情、展示产品信息、查看用户个人资料等。在使用Django开发时,可以根据具体需求选择合适的通用详细视图来展示对象的详细信息。

腾讯云提供了一系列与Django相关的产品和服务,可以帮助开发者快速构建和部署Django应用。其中,腾讯云云服务器(CVM)提供了可靠的虚拟服务器实例,用于托管Django应用程序。您可以通过以下链接了解更多关于腾讯云云服务器的信息:腾讯云云服务器

此外,腾讯云还提供了云数据库MySQL版、云数据库PostgreSQL版等数据库产品,用于存储和管理Django应用程序的数据。您可以通过以下链接了解更多关于腾讯云数据库的信息:腾讯云数据库

总结:Django是一个强大的Web应用框架,通用详细视图是一种用于显示对象详细信息的视图。在运行测试时,必须使用对象的主键(pk)或唯一标识符(slug)来调用通用详细视图。腾讯云提供了一系列与Django相关的产品和服务,可帮助开发者快速构建和部署Django应用。

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

相关·内容

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

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

1.4K10

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

login/" TemplateView 显示Django HTML template 一般网站中使用模板显示的页 ListView 显示对象列表 文章列表页 DetailView 显示对象详情 文章详细页...方法: get_queryset():获取此视图对象列表.必须是可迭代或者可以使查询集.默认返回queryset属性.可以通过重写该方法实现动态过滤.让这种方式能够工作的关键点,在于当类视图调用时...参数,如果找到了这个参数,该方法使用这个参数的值执行一个基于逐渐的查询.如果这个参数没有找到,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug的查询.当query_pk_and_slug...为True,get_object()将使用主键和slug执行查询....可以直接用Django通用视图里的UpdateView和CreateView。

3.2K10
  • Django内置的通用视图及实例

    表示对象列表的一个页面. 执行这个视图的时候,self.object_list将包含视图正在操作的对象列表(通常是一个查询集,但不是必须)....方法: get_queryset():获取此视图对象列表.必须是可迭代或者可以使查询集.默认返回queryset属性.可以通过重写该方法实现动态过滤.让这种方式能够工作的关键点,在于当类视图调用时...参数,如果找到了这个参数,该方法使用这个参数的值执行一个基于逐渐的查询.如果这个参数没有找到,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug的查询.当query_pk_and_slug...为True,get_object()将使用主键和slug执行查询....可以直接用Django通用视图里的UpdateView和CreateView。

    2.9K40

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

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

    89730

    python-Django-URL 路由(一)

    当客户端向Django应用程序发出请求Django会根据请求的URL查找适当的视图函数来处理该请求。Django的URL路由系统是基于正则表达式的。...当客户端请求到达Django应用程序时,Django会根据URL路由规则匹配URL,并调用与之匹配的视图函数来处理请求。...Django的URL路由系统还支持命名URL模式,这允许开发人员应用程序中使用可重用的URL模式。Django中,URL路由规则通常定义一个名为urls.py的文件中。...我们还为这个URL模式指定了一个名称,这个名称可以代码中引用这个URL。Django URL路由的详细介绍Django的URL路由系统提供了一系列工具和方法来定义和管理应用程序的URL路由规则。...Django的URL路由规则中,可以使用以下特殊字符:int:pk:表示一个整数值,可以使用pk作为变量名slug:slug:表示一个文本值,可以使用slug作为变量名str:username:表示一个字符串值

    29830

    DjangoRESTframework(补充)

    获取反序列化对象的数据前,必须调用 is_valid()进行验证,验证成功返回True 反之,false。...filter_backends 过滤控制后端 详情页视图使用 Lookup_field 查询单一数据对象使用的条件字段,默认为‘pk’ Look_url_kwarg 查询单一数据 url 中的参数关键字名称...,被其他视图扩展类使用,如果我们视图中想要获取序列化器对象,可以直接调用此方法。...注意,提供序列化器对象的时候,REST framework会向对象的context属性补充三个数据:request、format、view,这三个数据对象可以定义序列化器使用。...P\d+)/$', BookInfoViewSet.as_view({'get': 'retrieve'}) ] action属性 视图集中,我们可以通过action对象属性来获取当前请求视图

    2.2K30

    django之urls系统

    它的本质是URL与要为该URL调用视图函数之间的映射表。 你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。...:slug>/', views.article_detail), ] 参数说明: 正则表达式:一个正则表达式字符串 views视图函数:一个可调用对象,通常为一个视图函数一个指定视图函数路径的字符串...命名URL和URL反向解析 使用Django 项目,一个常见的需求是获得URL的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。...你填充你的URLconf,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...某些场景中,一个视图通用的,所以URL 和视图之间存在多对一的关系。对于这些情况,当反查URL ,只有视图的名字还不够。

    1.3K70

    python-Django-URL 路由(二)

    在这个示例中,我们将这些视图函数定义名为views.py的文件中:: from django.shortcuts import render, get_object_or_404, redirect...如果请求方法是POST,视图函数将获取用户提交的文章标题和内容,并创建一个新的Post对象,然后将用户重定向到新创建的文章的详细页面。...视图函数获取文章的slug,并使用get_object_or_404函数从数据库中获取文章对象。然后,视图函数将文章对象传递给包含文章详细信息的HTML模板。...第三个视图函数是post_edit,它允许用户编辑现有的博客文章。如果请求方法是POST,视图函数将获取用户提交的文章标题和内容,并更新现有的Post对象,然后将用户重定向到更新后的文章的详细页面。...这个视图函数使用Django通用视图类CreateView来处理创建新文章的表单,然后重定向到post_list视图函数,这个视图函数将渲染一个包含所有文章的列表的HTML模板。

    81720

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

    本例中,使用在Part3中设定的URLconf,reverse()调用将返回一个这样的字符串:'/polls/3/results/'。...如果您有兴趣,可以阅读使用F()避免竞争条件,以了解如何解决此问题; 使用通用视图:减少代码冗余 上面的detail、index和results视图的代码非常相似,有点冗余,这是一个程序猿不能忍受的...Generic views会将常见的模式抽象化,可以使你在编写app甚至不需要编写Python代码。 下面将投票应用转换成使用通用视图系统,这样可以删除许多冗余的代码。...这里使用两个通用视图:ListView和DetailView。这两个视图分别代表“显示对象列表”和“显示特定类型对象详细信息页面”的抽象概念。 每个通用视图需要知道它将作用于哪个模型。...现在你可以运行开发服务器,然后试试基于泛型视图的应用程序了。 更多关于通用视图详细信息,请查看通用视图文档。

    2.4K40

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

    总之,所有的 POST form 针对内部的 URLs 都应该使用 {% csrf_token %} 模板标签。 现在,让我们来创建一个 Django 视图来处理提交的数据。 记得吗?...该重定向 URL 会调用 ‘results’ 视图并显示最终页面。 正如在教程 第3部分提到的,request 是一个 HttpRequest 对象。...这两个视图分别用于显示两种抽象概念 “显示一系列对象的列表” 和 “显示一个特定类型的对象详细信息页”。 每个视图都需要知道使用哪个模型数据。因此需要提供将要使用的 model 参数。...DetailView 通用视图期望从 URL 中捕获名为 “pk” 的主键值,因此我们将 poll_id 改为 pk 。...运行服务器,并且使用下基于通用视图的新投票应用。 有关通用视图的完整详细信息,请参阅 通用视图文档. 当你熟悉了窗体和通用视图后,请阅读 教程 第5部分 来学习测试我们的投票应用。

    1.5K10

    Django之路由系统

    Django的路由系统   URL配置其实就是告诉Django项目你执行代码的路径,本质就是路径和调用视图函数之间的映射关系表。...:slug>/', views.article_detail), ] 参数说明 正则表达式:一个正则表达式字符串,用来匹配相关的路径; views视图函数:一个可调用对象,通常为一个视图函数一个指定视图函数路径的字符串...命名URL和URL反向解析   使用Django 项目,一个常见的需求是获得URL的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。...你填充你的URLconf,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...某些场景中,一个视图通用的,所以URL 和视图之间存在多对一的关系。对于这些情况,当反查URL ,只有视图的名字还不够。

    1.2K70

    django 1.8 官方文档翻译: 3-1-1 URL调度器

    错误处理 当Django 找不到一个匹配请求的URL 的正则表达式,或者当抛出一个异常Django调用一个错误处理视图。 这些情况发生使用视图通过4个变量指定。...它们的值必须是可调用的或者是表示视图的Python 完整导入路径的字符串,可以方便地调用它们来处理错误情况。...URL 的反向解析 使用Django 项目,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。...某些场景中,一个视图通用的,所以URL 和视图之间存在多对一的关系。对于这些情况,当反查URL ,只有视图的名字还不够。请阅读下一节来了解Django 为这个问题提供的解决办法。...Changed in Django 1.8: 以前版本的Django 中,你必须在用于渲染模板的每个`Context` `RequestContext`上设置`current_app` 属性。

    1.3K20

    Django url 反向解析 和 命令空间

    错误处理¶ 当Django 找不到一个匹配请求的URL 的正则表达式,或者当抛出一个异常Django调用一个错误处理视图。 这些情况发生使用视图通过4个变量指定。...它们的值必须是可调用的或者是表示视图的Python 完整导入路径的字符串,可以方便地调用它们来处理错误情况。...URL 的反向解析¶ 创建Django 项目,一个常见的需求是如何获得URL的最终形式以嵌入到所生成的Content中(即嵌入到视图中、URL资源中,或者显示给用户的URL等)或者用于处理服务器端的导航流...某些场景中,一个视图通用的,所以URL 和视图之间存在多对一的关系。对于这些情况,当反查URL ,只有视图的名字还不够。请阅读下一节来了解Django 为这个问题提供的解决办法。...Changed in Django 1.8:以前版本的Django 中,你必须在用于渲染模板的每个Context  RequestContext上设置current_app 属性。

    2.4K30

    网站功能——添加文章编辑页面,支持 markdown 编辑器实时预览编辑

    编辑页面的 markdown 可以直接使用我网站的工具里面的 markdonw 编辑器,然后页面中添加 js 定义按钮点击事情调用文章更新接口即可。...article 对象的。...return obj 这里直接使用的内置的视图类,比较方便,然后就是获取实例的时候需要进行用户判断,也就是非作者及超管无权访问,直接返回404页面就行。...创建 ajax 调用函数 我单独定义了一个 js 文章来做文章的更新,就是很简单的 ajax 请求,我的工具应用里面大量使用过,所以这种函数很普遍。...总结 本篇文章主要分享了创建一个文章内容编辑页面的过程,主要使用到了 Django 的类视图、权限判断、POST 请求视图、ajax 请求、实例更新等 Django 相关知识点。

    34310

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

    Django通过通用视图来完成下面一些功能: 为单一的对象展示列表和一个详细页面。...这就是说,通用视图有一些限制。如果你将你的视图实现为通用视图的子类,你就会发现这样能够更有效地编写你想要的代码,使用你自己的基于类功能的视图。...一些三方的应用中,有更多通用视图的示例,或者你可以自己按需编写。 对象通用视图 TemplateView确实很有用,但是当你需要 呈现你数据库中的内容Django通用视图才真的会脱颖而出。...因为这是如此常见 的任务,Django提供了一大把内置的通用视图,使生成对象的展示列表和详细视图 的变得极其容易。 让我们来看一下这些通用视图中的”对象列表”视图。...如果你想要调用参数组的其它方法,你可以视图上设置pk_url_kwarg。详见 DetailView参考。

    1.4K40

    小白学Django第五天| 视图View的初步使用

    视图函数的初步使用 2. MySQL配置的一些报错问题 视图函数的初步使用 可能刚接触Django框架的朋友不理解视图函数是啥,其实在之前的Flask框架中也是有这一概念的。...Django中,通过浏览器去请求一个页面,此时使用视图函数来处理这个请求,视图函数处理完成之后,就要浏览器返回页面内容。 1. 定义视图函数 如何来定义一个视图函数呢?...视图函数定义view.py文件中: 视图函数必须带一个参数request,进行处理之后,需要返回一个HttpResponse的类对象,里面包含的参数就是返回给浏览器显示的内容。...2.URL配置 django2.0 以上的版本中,默认使用的是path转换器,我们来通过一个小例子来看看Django的Url配置。...Django调用函数 views.article_detail(request, year=2003, month=3, slug="building-a-django-site") 。

    58111

    Django路由控制URL详解

    Django还提供了一种根据活动语言翻译URL的方法。 2. django如何处理请求 当用户请求一个页面Django根据下面的逻辑执行操作: 决定要使用的根URLconf模块。...也就是说,url匹配是从上往下的短路操作,所以url列表中的位置非常关键。 导入并调用匹配行中给定的视图,该视图是一个简单的Python函数(被称为视图函数),基于类的视图。...为了防止冲突,规定必须使用破折号,所有字母必须小写,例如’075194d3-6885-417e-a8a8-6c931e272f00‘ 。...视图中接收参数一定要小心。 3.3 有名分组 上面的示例使用简单的、没有命名的正则表达式组(通过圆括号)来捕获URL 中的值并以位置 参数传递给视图。...由于name没有作用域,Django反解URL,会在项目全局顺序搜索,当查找到第一个name指定URL,立即返回 我们开发项目,会经常使用name属性反解出URL,当不小心不同的app的urls

    1.1K20

    测试开发进阶(二十七)

    StringRelatedField 此字段将被序列化为关联对象字符串表达形式( __str__方法返回值) project = serializers.SlugRelatedField(slug_field...优化视图-请求 from rest_framework.views import APIView 当视图继承 APIView之后,请求实例方法中的第二个参数 request为 Request对象,是对Django...中的request.GET 获取查询字符串参数 支持Django.request中所有的对象和方法 优化视图-渲染 from rest_framework.response import Response...status=status.HTTP_200_OK) 支持分页,排序的父类GenericAPIView from rest_framework.generics import GenericAPIView 视图类中指定过滤引擎...指定需要排序的字段 指定查询集 指定模型序列化器 class ProjectsList(GenericAPIView): # 1.视图类中指定过滤引擎 # OrderingFilter

    59220

    基于类的通用视图:ListView 和 DetailView

    开发网站的过程中,有一些视图函数虽然处理的对象不同,但是其大致的代码逻辑是一样的。比如一个博客和一个论坛,通常其首页都是展示一系列的文章列表或者帖子列表。...于是,Django 把这些相同的逻辑代码抽取了出来,写成了一系列的通用视图函数,即基于类的通用视图(Class Based View)。...使用视图Django 推荐的做法,而且熟悉了类视图使用方法后,能够减少视图函数的重复代码,节省开发时间。接下来就让我们把博客应用中的视图函数改成基于类的通用视图。...,这样当用户访问这个 URL Django 就知道调用哪个视图函数去处理这个请求了。...将问题的详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。 Pythonzhcn 社区的新手问答版块 发布帖子。

    2.6K70
    领券