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

使用pk时,Django generic UpdateView返回404错误:“未找到与查询匹配的用户”

问题描述:使用pk时,Django generic UpdateView返回404错误:“未找到与查询匹配的用户”

回答: 这个问题通常是由于以下几个原因导致的:

  1. 数据库中不存在与给定的pk值匹配的用户。请确保数据库中存在具有相应pk值的用户记录。
  2. URL配置中的正则表达式不正确。请检查URL配置中的正则表达式是否正确匹配了您的URL路径。
  3. 视图中的查询逻辑有误。请确保在视图中正确地执行了查询操作,并将查询结果传递给模板。

解决这个问题的方法如下:

  1. 检查数据库中是否存在与给定的pk值匹配的用户记录。您可以使用Django的shell命令行工具来检查数据库中的数据。
  2. 检查URL配置中的正则表达式是否正确。您可以使用Django的URL反向解析功能来验证URL配置是否正确。
  3. 检查视图中的查询逻辑。确保在视图中正确地执行了查询操作,并将查询结果传递给模板。

如果您仍然遇到问题,可以提供更多的代码和错误信息,以便我们能够更好地帮助您解决问题。

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

相关·内容

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

: 指定在上下文中使用变量名称. 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...为True,get_object()将使用主键和slug执行查询....显示表单视图,验证错误时,重新显示表单并显示错误信息;成功,重定向到一个新URL.

3.2K10

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...为True,get_object()将使用主键和slug执行查询....显示表单视图,验证错误时,重新显示表单并显示错误信息;成功,重定向到一个新URL.

2.9K40

django 1.8 官方文档翻译: 3-4-3 使用基于类视图处理表单

使用基于类视图处理表单 表单处理通常有3 个步骤: 初始GET (空白或预填充表单) 带有非法数据POST(通常重新显示表单和错误信息) 带有合法数据POST(处理数据并重定向) 你自己实现这些功能经常导致许多重复样本代码...这些通用视图将自动创建一个ModelForm,只要它们能知道使用哪一个模型类: 如果给出model属性,则使用该模型类。 如果get_object() 返回一个对象,则使用该对象类。...如果给出queryset,则使用查询模型。 模型表单提供一个form_valid() 实现,它自动保存模型。如果你有特殊需求,可以覆盖它;参见下面的例子。...注意这里我们是如何配置通用基于类视图;我们自己没有写任何逻辑: #views.py from django.views.generic.edit import CreateView, UpdateView...在这个视图中,请确保你没有将created_by 包含进要编辑字段列表,并覆盖form_valid() 来添加这个用户: #views.py from django.views.generic.edit

1.8K20

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

HttpResponseRedirect只接收一个参数:用户将要被重定向URL; 在这个例子中,HttpResponseRedirect构造函数中使用reverse()函数。...在本例中,使用在Part3中设定URLconf,reverse()调用将返回一个这样字符串:'/polls/3/results/'。...如果提交没有选择任何Choice,应该会看到错误信息。 注: views()视图代码确实有一个小问题。...他们都具有类似的业务逻辑,实现类似的功能:通过从URL传递过来参数去数据库查询数据,加载一个模板,利用刚才数据渲染模板,返回这个模板。...Generic views会将常见模式抽象化,可以使你在编写app甚至不需要编写Python代码。 下面将投票应用转换成使用通用视图系统,这样可以删除许多冗余代码。

2.3K40

基于django视频点播网站开发-step6-个人中心功能

个人资料 这里主要是对个人资料进行编辑,先显示用户原有的信息,然后用户即可对其进行修改并保存,对于编辑功能,django有自己解决方案,即通过通用视图类UpdateView对模型进行更改。...下面我们转向ProfileView,它写法超级简单 class ProfileView(LoginRequiredMixin,AuthorRequiredMixin, generic.UpdateView...': self.request.user.pk}) 简单几行代码,就实现了个人资料更新,再次彰显了django框架强大。...'), 我们设置订阅视图类为SubscribeView,因为订阅功能和修改个人资料功能类似,也是属于更新操作,所以同样是使用UpdateView来更新。...只要我们配置好model、form_class、template_name,django就自动为我们创建记录。 另外,我们还使用了一种限流量技术:ratelimit。

1.1K00

基于django视频点播网站开发-step9-后台视频管理功能

个人博客:mypython.me 视频上传 我们先来实现视频上传,视频上传采用是分块上传策略,并用了分块上传类库:django_chunked_upload,使用该类库,再配合前端上传js库(jquery.fileupload.js...,视频上传采用是分块上传策略,前端使用是js上传库(jquery.fileupload.js),后端使用django_chunked_upload,上传逻辑是这样:前端先选择一个文件,通过...jquery.fileupload.js中$.fileupload()方法来上传文件,后端接收到后分批返回已上传块进度,前端根据进度来更新界面。...,它代码如下 class VideoPublishView(SuperUserRequiredMixin, generic.UpdateView): model = Video form...': self.kwargs['pk']}) 其实编辑页面和发布页面很相似,都是继承UpdateView视图类,并在get_context_data()里面传递分类信息。

1.6K30

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

以下是当用户访问 “/polls/34/” 路径系统中将发生事: Django 将寻找 ‘^polls/’ 匹配 接着,Django 截取匹配文本 (“polls/”) 后剩余文本 – “34/...快捷方式: get_object_or_404() 这很常见,当你使用 get() 获取对象 对象却不存在就会抛出 Http404 异常。对此 Django 提供了一个快捷操作。...若返回是空列表将抛出 Http404 异常。 编写一个 404 ( 页面未找到 ) 视图 当你在视图中抛出 Http404 Django 将载入一个特定视图来处理 404 错误。...当 DEBUG 值是 False ( 在你 settings 模块中 ) , 默认 404 视图将使用此模板来显示所有的 404 错误。...当 Django 在 URLconf 中不能找到能匹配正则表达式 404 视图也将被调用。

1.8K50

First Django App!

项目,一个项目肯定是由多个模块组成,比方说一个电商项目,包括支付模块,商品展示模块,商家用户聊天模块等等,这些模块便可称之为一个应用。   ...OK   查看生成表,撒花。 1、使用Django可视化管理数据   表已经创建好了,如何使用django自带后台可视化管理数据呢,这需要我们注册一下。...十一、编写表单   我们已经写好详情页需要显示内容,但这毕竟是一个选择题,这样写只能展示,但用户没法选择,所以我们需要写一个表单。 detail.html /vote/', views.vote, name='vote'), ]   注意,第二个和第三个匹配准则中,路径字符串中匹配模式名称已经由 <question_id..._404, render from django.urls import reverse from django.views import generic from .models import Choice

2.1K10

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

当你创建一个表单为了修改服务器端数据,请使用 method=”post” 。这不是 Django 特定技巧;这是优秀 Web 开发实践。...总之,所有的 POST form 针对内部 URLs 都应该使用 {% csrf_token %} 模板标签。 现在,让我们来创建一个 Django 视图来处理提交数据。 记得吗?...如果你没有选择投票选项就提交了,将会看到错误信息。 使用通用视图:优化代码 detail() ( 在 教程 第3部分 中) 和 results() 视图 都很简单 – 并且还有上面所提到冗余问题。...同样,~django.views.generic.list.ListView 通用视图使用默认模板名为 /_list.html ;我们指定了 template_name 参数告诉...作为一种替代方式,你可以改变你模板来 匹配默认上下文变量 – 但它是一个非常容易地告诉 Django 使用你想要变量方式。

1.4K10

drf之请求、响应、视图

提供关于序列化器使用属性方法 属性:serializer_class  指明视图使用序列化器 方法: get_serializer_class(self) : 当出现一个视图类中调用多个序列化器...-request 当前视图请求对象 -view 当前请求类视图对象 -format 当前请求期望返回数据格式 提供关于数据库查询属性方法 属性:queryset  指明使用数据查询集...方法: get_queryset(self) :返回视图使用查询集,主要用来提供给Mixin扩展类使用,是列表视图详情视图获取数据基础,默认返回queryset属性,可以重写 get_object...如果序列化器对前端发送数据验证失败,返回400错误。...成功返回200,序列化器校验数据失败返回400错误

2.1K20

【愚公系列】2022年04月 Python教学课程 61-Django框架Resful接口

: 状态码 含义 200 OK - [GET] 服务器成功返回用户请求数据 201 CREATED - [POST/PUT/PATCH] 用户新建或修改数据成功 202 Accepted 表示一个请求已经进入后台排队...(异步任务) 204 NO CONTENT - [DELETE] 用户删除数据成功 400 INVALID REQUEST - [POST/PUT/PATCH] 用户发出请求有错误,服务器没有进行新建或修改数据操作...,该操作是幂等 401 Unauthorized - [*] 表示用户没有权限(令牌、用户名、密码错误) 403 Forbidden - [*] 表示用户得到授权(401错误相对),但是访问是被禁止...404 NOT FOUND - [*] 用户发出请求针对是不存在记录,服务器没有进行操作,该操作是幂等 405 Method Not Allowed 方法不允许,服务器没有该方法 406 Not...entity - [POST/PUT/PATCH] 当创建一个对象,发生一个验证错误 500 INTERNAL SERVER ERROR - [*] 服务器发生错误用户将无法判断发出请求是否成功

50920

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

当你处理 一个object或者querysetDjango能够使用你定义对象显示用自述名(verbose name,或者复数自述名,对于对象列表)来填充上下文(context)。...然而,通过使用queryset来定义一个过滤对象列表,你可以更加详细 了解哪些对象将会被显示视图中(参见执行查询来获取更多关于查询集对象更对信息,以及参见 基于类视图参考来获取全部 细节)。...注意 如果你在访问 /books/acme/出现404错误,检查确保你确实有一个名字为“ACME Publishing”出版商。通用视图在这种情况下拥有一个allow_empty 参数。...;如果我们想的话,我们可以 使用self.request.user来过滤当前用户,或者添加其他更复杂逻辑。...pk - 这个名字是DetailView用来查找主键默认名称,其中主键用于过滤查询集。

1.4K40

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

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

88430
领券