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

Django 2.0:必须使用对象pk或slug调用通用详细视图

Django是一个开源的Web应用框架,用于快速开发高质量的Web应用程序。它基于Python编程语言,并采用了MVC(模型-视图-控制器)的软件设计模式。

在Django中,通用详细视图是一种用于显示特定对象详细信息的视图。在使用通用详细视图时,必须使用对象的主键(pk)或唯一标识符(slug)来调用视图。

主键(pk)是数据库中每个对象的唯一标识符。它通常是一个自增的整数值,用于在数据库中唯一标识对象。

唯一标识符(slug)是一个短的、人类可读的字符串,用于在URL中标识对象。它通常是对象的名称或标题的简化版本,以便于记忆和分享。

使用主键或唯一标识符调用通用详细视图的优势在于可以通过URL直接访问特定对象的详细信息页面,而无需手动编写视图和URL映射。

Django提供了多个通用详细视图类,例如DetailView和SlugDetailView,可以根据具体需求选择合适的视图类来展示对象的详细信息。

以下是腾讯云相关产品和产品介绍链接地址,可用于支持Django应用程序的部署和扩展:

  1. 云服务器(CVM):提供可扩展的虚拟服务器实例,用于托管Django应用程序。 产品介绍链接:https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版(CDB):提供高性能、可扩展的关系型数据库服务,可用于存储Django应用程序的数据。 产品介绍链接:https://cloud.tencent.com/product/cdb_mysql
  3. 云存储(COS):提供安全可靠的对象存储服务,可用于存储Django应用程序的静态文件和媒体文件。 产品介绍链接:https://cloud.tencent.com/product/cos
  4. 云网络(VPC):提供安全可靠的私有网络环境,可用于隔离和保护Django应用程序的网络通信。 产品介绍链接:https://cloud.tencent.com/product/vpc

请注意,以上仅为腾讯云提供的一些相关产品,其他云计算品牌商也提供类似的产品和服务,可根据具体需求选择合适的云计算平台。

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

相关·内容

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

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

3.2K10

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

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

1.4K10

Django内置的通用视图及实例

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

2.9K40

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

后面会详细讲解Django每一部分的使用方式和API了 本节内容 内置视图处理对象的定义 内置视图处理对象使用 源代码分析 1....常规情况下,对应页面中要展示数据列表的视图,通过继承Djangodjango.views.generic.ListView对象来实现,页面中要展示数据信息的视图,通过继承Djangodjango.views.generic.DetailView...视图对象使用 经过上述的改造,我们可以看到视图处理函数已经变得非常的简洁,但是存在这样一个问题,IndexView处理类中的数据,我们可以看懂是通过get_queryset()函数进行查询的,然后自动复制给变量...= 'slug' context_object_name = None slug_url_kwarg = 'slug' pk_url_kwarg = 'pk' query_pk_and_slug...我们可以在源代码中,看到各种操作的一些信息,官方注释用于使用对象数据来渲染详细信息页面的视图对象,继承的父类中,也定义了各种属性字段用于控制单个对象数据的展示操作 以上两个视图类,都间接继承了View

88730

python-Django-URL 路由(一)

当客户端请求到达Django应用程序时,Django会根据URL路由规则匹配URL,并调用与之匹配的视图函数来处理请求。...Django URL路由的详细介绍Django的URL路由系统提供了一系列工具和方法来定义和管理应用程序的URL路由规则。在Django中,URL路由规则通常定义在一个名为urls.py的文件中。...第三个URL模式是“books/int:pk/”,它将请求映射到我们之前定义的book_detail视图函数,并使用一个整数变量来表示图书的主键。...在Django的URL路由规则中,可以使用以下特殊字符:int:pk:表示一个整数值,可以使用pk作为变量名slug:slug:表示一个文本值,可以使用slug作为变量名str:username:表示一个字符串值...Django还提供了许多其他的URL路由选项和功能,例如在视图函数中使用参数来生成URL,使用URL模式的命名空间来区分应用程序和使用可选参数来定义URL模式。

28830

django之urls系统

它的本质是URL与要为该URL调用视图函数之间的映射表。 你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。...注意: Django 2.0版本中的路由系统已经替换成下面的写法 (官方文档:https://docs.djangoproject.com/en/2.0/topics/http/urls/): from...:slug>/', views.article_detail), ] 参数说明: 正则表达式:一个正则表达式字符串 views视图函数:一个可调用对象,通常为一个视图函数一个指定视图函数路径的字符串...你填充你的URLconf,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...在某些场景中,一个视图通用的,所以在URL 和视图之间存在多对一的关系。对于这些情况,当反查URL 时,只有视图的名字还不够。

1.3K70

django URL (路由系统)

它的本质是URL模式以及要为该URL模式调用视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。...语法: urlpatterns = [     path(正则表达式, views视图函数,参数,别名), ] 参数说明: 一个正则表达式字符串 一个可调用对象,通常为一个视图函数一个指定视图函数路径的字符串...上面的url,可以使用Django2.0新语法 path('articles//', views.year_archive), 它支持url参数的类型转化。...Django2.0自带了默人的Path Converter,同时也支持自定义Path Conveter。...默认Path converter Django2.0自带的PathConveter包括:     str:匹配除了路径分隔符(/)之外的非空字符串,如果没有转换器,默认使用str作为转换器。

1.6K30

django之路由分组,反向解析,有名

有名分组和无名不能混合使用!!!...虚拟环境(演示一下虚拟环境,下载django2.0测试自定义转换器) 由来:     每个项目用到的模块不一样 目的:     为了让每一个项目都有仅仅属于自己的项目解释器 使用:    ...new project的时候选择虚拟环境创建项目     如果勾选了下面的make to all project你创建的虚拟环境就能够被其他新建的项目使用 django2.0django1.0...的区别(了解) 1.0里面的url对应django2.0里面re_path django2.0里面的path第一个是精准匹配(你怎么写的,我就怎么匹配) django1.0版本中匹配到的参数都是字符串类型...redirect >>> 重定向(即可以重定向到别人的网址,也可以重定向到自己路由) django返回的数据都是HttpResponse对象 JsonResponse(返回json

1.6K10

Django之路由系统

Django的路由系统   URL配置其实就是告诉Django项目你执行代码的路径,本质就是路径和调用视图函数之间的映射关系表。...= [ url(正则表达式, views视图函数,参数,别名), ] 这里需要注意的是:Django 2.0版本中的路由系统已经替换成下面的写法(官方文档) from django.urls...:slug>/', views.article_detail), ] 参数说明 正则表达式:一个正则表达式字符串,用来匹配相关的路径; views视图函数:一个可调用对象,通常为一个视图函数一个指定视图函数路径的字符串...你填充你的URLconf,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...在某些场景中,一个视图通用的,所以在URL 和视图之间存在多对一的关系。对于这些情况,当反查URL 时,只有视图的名字还不够。

1.2K70

python-Django-URL 路由(二)

Django URL路由的示例 下面是一个简单的Django应用程序的示例,它使用URL路由来处理客户端请求。...如果请求方法是POST,视图函数将获取用户提交的文章标题和内容,并创建一个新的Post对象,然后将用户重定向到新创建的文章的详细页面。...视图函数获取文章的slug,并使用get_object_or_404函数从数据库中获取文章对象。然后,视图函数将文章对象传递给包含文章详细信息的HTML模板。...第三个视图函数是post_edit,它允许用户编辑现有的博客文章。如果请求方法是POST,视图函数将获取用户提交的文章标题和内容,并更新现有的Post对象,然后将用户重定向到更新后的文章的详细页面。...这个视图函数使用Django通用视图类CreateView来处理创建新文章的表单,然后重定向到post_list视图函数,这个视图函数将渲染一个包含所有文章的列表的HTML模板。

80820

DjangoRESTframework(补充)

在获取反序列化对象的数据前,必须调用 is_valid()进行验证,验证成功返回True 反之,false。...支持定义的属性: 列表视图与详情视图通用 queryset 列表视图的查询集 serializer_class 视图使用的序列化器 列表视图使用 pagination_class 分页控制类...filter_backends 过滤控制后端 详情页视图使用 Lookup_field 查询单一数据对象使用的条件字段,默认为‘pk’ Look_url_kwarg 查询单一数据时 url 中的参数关键字名称...,默认为 look_field相同 提供的方法: 列表视图与详情视图通用: get_queryset(self) 返回视图使用的查询集,是列表视图与详情视图获取数据的基础,默认返回queryset...,被其他视图扩展类使用,如果我们在视图中想要获取序列化器对象,可以直接调用此方法。

2.2K30

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

编辑页面的 markdown 可以直接使用我网站的工具里面的 markdonw 编辑器,然后在页面中添加 js 定义按钮点击事情调用文章更新接口即可。...article 对象的。...创建编辑页视图及url 首先创建一个编辑的视图,可以直接使用视图: class DetailEditView(generic.DetailView): """ 文章编辑视图 "...创建 ajax 调用函数 我单独定义了一个 js 文章来做文章的更新,就是很简单的 ajax 请求,在我的工具应用里面大量使用过,所以这种函数很普遍。...总结 本篇文章主要分享了创建一个文章内容编辑页面的过程,主要使用到了 Django 的类视图、权限判断、POST 请求视图、ajax 请求、实例更新等 Django 相关知识点。

32210

小白学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") 。

57211

02.Django基础二之URL路由系统

一 URL配置 Django 1.11版本 URLConf官方文档   URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用视图函数之间的映射表。...2.0版本中的路由系统已经替换成下面的写法,但是django2.0是向下兼容1.x版本的语法的(官方文档): from django.urls import path urlpatterns = [...:slug>/', views.article_detail), ] 参数说明  正则表达式:一个正则表达式字符串 views视图函数:一个可调用对象,通常为一个视图函数一个指定视图函数路径的字符串...你填充你的URLconf,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...在某些场景中,一个视图通用的,所以在URL 和视图之间存在多对一的关系。对于这些情况,当反查URL 时,只有视图的名字还不够。

1.5K20

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

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

2.3K40

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

于是,Django 把这些相同的逻辑代码抽取了出来,写成了一系列的通用视图函数,即基于类的通用视图(Class Based View)。...使用视图Django 推荐的做法,而且熟悉了类视图使用方法后,能够减少视图函数的重复代码,节省开发时间。接下来就让我们把博客应用中的视图函数改成基于类的通用视图。...,这样当用户访问这个 URL 时,Django 就知道调用哪个视图函数去处理这个请求了。...具体的实现我们以后会专门开辟一个专栏分析类视图的源代码,到时候就能看出 Django 使用的魔法了)。...P[0-9]+)/$', views.CategoryView.as_view(), name='category'), ] 访问以下某个分类页面,可以看到依然显示的是该分类下的全部文章列表,和使用视图函数

2.6K70
领券