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

AttributeError:必须在URLconf中使用对象pk或slug调用通用详细视图AddMessageView

AttributeError是Python中的一个异常类,表示属性错误。在这个问题中,错误提示说明必须在URLconf中使用对象的pk或slug来调用通用详细视图AddMessageView。

通用详细视图是Django框架中的一种视图,用于展示特定对象的详细信息。根据错误提示,我们需要在URLconf中使用对象的pk或slug参数来调用AddMessageView。

pk和slug是URL中常用的参数,用于标识特定的对象。pk是主键(Primary Key)的缩写,是唯一标识数据库中记录的值。slug是一个短标签或标识符,通常用于友好的URL。

在URLconf中,我们可以使用以下方式调用通用详细视图AddMessageView:

  1. 使用对象的pk参数:
代码语言:txt
复制
path('add_message/<int:pk>/', AddMessageView.as_view(), name='add_message')

这里使用<int:pk>定义了一个整数类型的参数pk,并将其作为URL的一部分。

  1. 使用对象的slug参数:
代码语言:txt
复制
path('add_message/<slug:slug>/', AddMessageView.as_view(), name='add_message')

这里使用<slug:slug>定义了一个slug类型的参数slug,并将其作为URL的一部分。

通用详细视图AddMessageView可能是一个自定义的视图,根据其名字可以推测,它可能用于添加消息的功能。根据这个信息,我们可以提供以下相关腾讯云产品:

  • 腾讯云消息队列 CMQ:腾讯云提供的分布式消息队列服务,可满足大规模分布式系统的消息通信需求。它可以实现应用解耦、削峰填谷、消息通知、日志处理、异步处理等功能。了解更多信息,请访问腾讯云消息队列 CMQ产品介绍

请注意,以上答案仅供参考,具体的推荐产品和介绍链接需要根据实际情况进行选择。

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

相关·内容

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内置的通用视图及实例

: 指定在上下文中使用的变量的名称. pk_url_kwarg: URLconf,包含逐渐的关键字参数的名称.默认为'pk'. get_context_data:返回显示对象的上下文数据....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内置的通用视图CBV及示例

    ListView 显示对象列表 文章列表页 DetailView 显示对象详情 文章详细页 FormView 提交From 网站联系我们emai订阅form CreateView 创建对象 创建新文章页...: 指定在上下文中使用的变量的名称. pk_url_kwarg: URLconf,包含逐渐的关键字参数的名称.默认为'pk'. get_context_data:返回显示对象的上下文数据....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之urls系统

    :slug>/', views.article_detail), ] 参数说明: 正则表达式:一个正则表达式字符串 views视图函数:一个可调用对象,通常为一个视图函数一个指定视图函数路径的字符串...捕获的参数永远都是字符串 每个在URLconf捕获的参数都作为一个普通的Python字符串传递给视图,无论正则表达式使用的是什么匹配方式。...你填充你的URLconf,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...在某些场景,一个视图通用的,所以在URL 和视图之间存在多对一的关系。对于这些情况,当反查URL 时,只有视图的名字还不够。...语法: '命名空间名称:URL名称' 模板中使用: {% url 'app01:detail' pk=12 pp=99 %} views的函数中使用 v = reverse('app01:detail

    1.3K70

    Django之路由系统

    :slug>/', views.article_detail), ] 参数说明 正则表达式:一个正则表达式字符串,用来匹配相关的路径; views视图函数:一个可调用对象,通常为一个视图函数一个指定视图函数路径的字符串...捕获的参数永远都是字符串   每个在URLconf捕获的参数都作为一个普通的Python字符串传递给视图,无论正则表达式使用的是什么匹配方式。...你填充你的URLconf,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...在某些场景,一个视图通用的,所以在URL 和视图之间存在多对一的关系。对于这些情况,当反查URL 时,只有视图的名字还不够。...语法: '命名空间名称:URL名称' 模板中使用: {% url 'app01:detail' pk=12 pp=99 %} views的函数中使用 v = reverse('app01:detail

    1.2K70

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

    通常,这个值就是ROOT_URLCONF 的设置,但是如果进来的HttpRequest 对象具有一个urlconf 属性(通过中间件request processing 设置),则使用这个值来替换ROOT_URLCONF...错误处理 当Django 找不到一个匹配请求的URL 的正则表达式时,或者当抛出一个异常时,Django 将调用一个错误处理视图。 这些情况发生时使用视图通过4个变量指定。...你填充你的URLconf,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...在某些场景,一个视图通用的,所以在URL 和视图之间存在多对一的关系。对于这些情况,当反查URL 时,只有视图的名字还不够。请阅读下一节来了解Django 为这个问题提供的解决办法。...Changed in Django 1.8: 在以前版本的Django ,你必须在用于渲染模板的每个`Context` `RequestContext`上设置`current_app` 属性。

    1.3K20

    Django url 反向解析 和 命令空间

    对象urlconf属性的值所替换。...错误处理¶ 当Django 找不到一个匹配请求的URL 的正则表达式时,或者当抛出一个异常时,Django 将调用一个错误处理视图。 这些情况发生时使用视图通过4个变量指定。...你用你的URLconf填充它,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...在某些场景,一个视图通用的,所以在URL 和视图之间存在多对一的关系。对于这些情况,当反查URL 时,只有视图的名字还不够。请阅读下一节来了解Django 为这个问题提供的解决办法。...Changed in Django 1.8:在以前版本的Django ,你必须在用于渲染模板的每个Context  RequestContext上设置current_app 属性。

    2.4K30

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

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

    90130

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

    此外,有问题的模型可以作为一个额外的参数传递到URLconf。 Django通过通用视图来完成下面一些功能: 为单一的对象展示列表和一个详细页面。...扩展通用视图 使用通用视图可以极大的提高开发速度,是毫无疑问的。 然而在大多数工程, 总会遇到通用视图无法满足需求的时候。...这就是说,通用视图有一些限制。如果你将你的视图实现为通用视图的子类,你就会发现这样能够更有效地编写你想要的代码,使用你自己的基于类功能的视图。...因为这是如此常见 的任务,Django提供了一大把内置的通用视图,使生成对象的展示列表和详细视图 的变得极其容易。 让我们来看一下这些通用视图中的”对象列表”视图。...让这种方式能够工作的关键点,在于当类视图调用时,各种有用的对象被存储在self上;同request()(self.request)一样,其中包含了从URLconf获取到的位置参数 (self.args

    1.4K40

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

    该重定向 URL 会调用 ‘results’ 视图并显示最终页面。 正如在教程 第3部分提到的,request 是一个 HttpRequest 对象。...让我们把 poll 应用修改成使用通用视图系统的应用,这样我们就能删除删除一些我们自己的代码了。 我们将采取以下步骤来进行修改: 修改 URLconf 。 删除一些旧的,不必要的视图。...这两个视图分别用于显示两种抽象概念 “显示一系列对象的列表” 和 “显示一个特定类型的对象详细信息页”。 每个视图都需要知道使用哪个模型数据。因此需要提供将要使用的 model 参数。...DetailView 通用视图期望从 URL 捕获名为 “pk” 的主键值,因此我们将 poll_id 改为 pk 。...运行服务器,并且使用下基于通用视图的新投票应用。 有关通用视图的完整详细信息,请参阅 通用视图文档. 当你熟悉了窗体和通用视图后,请阅读 教程 第5部分 来学习测试我们的投票应用。

    1.5K10

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

    在本例使用在Part3设定的URLconf,reverse()调用将返回一个这样的字符串:'/polls/3/results/'。...下面将投票应用转换成使用通用视图系统,这样可以删除许多冗余的代码。仅仅需要做以下几步来完成转换: 修改URLconf; 删除一些旧的无用的视图; 采用基于通用视图的新视图。...这里使用两个通用视图:ListView和DetailView。这两个视图分别代表“显示对象列表”和“显示特定类型对象详细信息页面”的抽象概念。 每个通用视图需要知道它将作用于哪个模型。...这由model 属性提供; DetailView都是从URL捕获名为"pk"的主键值,因此才需要把polls/urls.pyquestion_id改成了pk以使通用视图可以找到主键值。...现在你可以运行开发服务器,然后试试基于泛型视图的应用程序了。 更多关于通用视图详细信息,请查看通用视图文档。

    2.4K40

    Django路由控制URL详解

    通常,这是ROOT_URLCONF设置的值,但是如果传入的HttpRequest对象具有urlconf属性(由中间件设置),则其值将被用于代替ROOT_URLCONF设置。...也就是说,url匹配是从上往下的短路操作,所以url在列表的位置非常关键。 导入并调用匹配行给定的视图,该视图是一个简单的Python函数(被称为视图函数),基于类的视图。...如果没有匹配到正则表达式,或者过程抛出异常,将调用一个适当的错误处理视图。 3....:slug>/', views.article_detail), ] 注意: 要捕获一段url的值,需要使用尖括号,而不是之前的圆括号; 可以转换捕获到的值为指定类型,比如例子的int。...在更高级的用法,可以使用命名的正则表达式组来捕获URL 的值并以关键字 参数传递给视图。 在Python 正则表达式,命名正则表达式组的语法是(?

    1.1K20

    Django 视图和模板1.4

    视图 在django视图对WEB请求进行回应 视图接收reqeust对象作为第一个参数,包含了请求的信息 视图就是一个Python函数,被定义在views.py #coding:utf-8 from...,需要配置urlconf,否则无法处理请求 URLconf 在Django,定义URLconf包括正则表达式、视图两部分 Django使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图 注意...超链接是硬编码的,此时的请求地址为“127.0.0.1/1/” 看如下情况:将urlconf详细页改为如下,链接就找不到了 url(r'^book/([0...-9]+)/$', views.detail), 此时的请求地址应该为“127.0.0.1/book/1/” 问题总结:如果在模板地址硬编码,将来urlconf修改后,地址将失效 解决:使用命名的url... Render简写 Django提供了函数Render()简化视图调用模板、构造上下文 from django.shortcuts

    58430

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

    一 URL配置 Django 1.11版本 URLConf官方文档   URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用视图函数之间的映射表。...:slug>/', views.article_detail), ] 参数说明  正则表达式:一个正则表达式字符串 views视图函数:一个可调用对象,通常为一个视图函数一个指定视图函数路径的字符串...捕获的参数永远都是字符串   每个在URLconf捕获的参数都作为一个普通的Python字符串传递给视图,无论正则表达式使用的是什么匹配方式。...你填充你的URLconf,然后可以双向使用它: 根据用户/浏览器发起的URL 请求,它调用正确的Django 视图,并从URL 中提取它的参数需要的值。...在某些场景,一个视图通用的,所以在URL 和视图之间存在多对一的关系。对于这些情况,当反查URL 时,只有视图的名字还不够。

    1.5K20

    学生宿舍管理系统(jsp+mysql).rar

    Java学生宿舍管理系统,技术架构方面使用jsp+mysql。源代码和数据库脚本齐全。有运行截图。适合大学生毕业设计参考和Java的初步学习者使用。...,不过DRF更推荐使用class定义的类视图,这能让我们的代码更符合DRY(Don’t Repeat Yourself)设计原则: 使用APIView rest_framework.views.APIView...因为path()的参数必须是可调用的,在源码能看到elif callable(view): def _path(route, view, kwargs=None, name=None, Pattern...initkwargs) self.setup(request, *args, **kwargs) if not hasattr(self, 'request'): raise AttributeError...: 这是DRF提供的通用API类视图,mixins只提供了处理方法,views.py的类要成为视图,还需要继承GenericAPIView,GenericAPIView继承了本文第一小节提到的rest_framework.views.APIView

    3.7K00

    DRF类视图让你的代码DRY起来

    刚开始写views.py模块的代码,一般都是用def定义的函数视图,不过DRF更推荐使用class定义的类视图,这能让我们的代码更符合DRY(Don't Repeat Yourself)设计原则: ?...使用APIView rest_framework.views.APIView是DRF封装的API视图,继承了django.views.generic.base.View: ?...因为path()的参数必须是可调用的,在源码能看到elif callable(view): def _path(route, view, kwargs=None, name=None, Pattern...self.setup(request, *args, **kwargs) if not hasattr(self, 'request'): raise AttributeError...这是DRF提供的通用API类视图,mixins只提供了处理方法,views.py的类要成为视图,还需要继承GenericAPIView,GenericAPIView继承了本文第一小节提到的rest_framework.views.APIView

    55110

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

    2.1 改良 URLconf 2.2 改良视图 小结 前言 这一节我们将继续编写投票应用,专注于简单的表单处理并且精简我们的代码。...1 编写一个简单的表单 1.1 模版中新增表单 更新一下在上一个教程编写的投票详细页面的模板 (“polls/detail.html”) ,增加一个 HTML 元素: {{ question.question_text... 2 通用视图 投票应用的 detail 和 results 视图的操作都差不多,显得冗余。...这些视图反映基本的 Web 开发的一个常见情况:根据 URL 的参数从数据库获取数据、载入模板文件然后返回渲染后的模板。...让我们将我们的投票应用转换成使用通用视图系统,仅仅需要做以下几步来完成转换: 1.转换 URLconf。 2.删除一些旧的、不再需要的视图。 3.基于 Django 的通用视图引入新的视图

    79810

    Django如何处理URL请求

    Django从配置文件根据ROOT_URLCONF找到主路由文件,也就是我们的主目录下的urls.py Django找到urls.py的urlpatterns变量,该内容是一个包含多个路由的数组....path 匹配成功-调用对应函数视图 匹配失败-返回404 视图函数 视图函数是一个用来接收浏览器请求(HttpRequest)对象并通过HttpRequest对象返回响应函数。...,需要与views匹配 3. name: 为地址起别名,在模板地址反向解析时使用 Path转换器 语法 path('page/',views.page)...api/ 匹配 /v1/api/100 slug: 匹配任意由ASCII字母数字以及连字符和下划线组成的短标签 /v1/api/ 匹配 /v1...api/this-is-user_list path:匹配非空字段,包括路径分隔符/ /v1/api/ 匹配 /v1/api/a/b/c re_path 在url的匹配过程可以使用正则表达式进行精确匹配

    1.8K10

    Django 2.0 新款URL配置详解

    :slug>/', views.article_detail), ] 注意: 要捕获一段url的值,需要使用尖括号,而不是之前的圆括号; 可以转换捕获到的值为指定类型,比如例子的int。...,并调用views.special_case_2003(request); /articles/2003将一条都匹配不上,因为它最后少了一个斜杠,而列表的所有模式中都以斜杠结尾; /articles/...2003/03/building-a-django-site/ 将匹配最后一个,并调用views.article_detail(request, year=2003, month=3, slug="building-a-django-site...P[\w-_]+)/', views.article_detail), ] 与path()方法不同的在于两点: year匹配不到10000等非四位数字,这是正则表达式决定的 传递给视图的所有参数都是字符串类型...而不像path()方法可以指定转换成某种类型。在视图中接收参数时一定要小心。

    1.3K50
    领券