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

从一开始没有对象,UpdateView就能工作吗?

从一开始没有对象,UpdateView无法工作。UpdateView是Django框架中的一个类视图,用于更新数据库中的数据。它需要一个对象作为参数来指定要更新的数据。如果没有对象,UpdateView无法确定要更新哪条数据,因此无法工作。

UpdateView的工作原理是通过URL中的参数来获取对象的主键或其他唯一标识符,然后根据这个标识符从数据库中获取对象,并将其传递给模板进行渲染。用户在模板中进行修改后,UpdateView会将修改后的数据保存回数据库。

在Django中,可以通过在URL中传递对象的主键或其他唯一标识符来指定要更新的对象。例如,可以使用类似于以下的URL模式:

代码语言:txt
复制
path('update/<int:pk>/', UpdateView.as_view(), name='update')

在这个URL模式中,<int:pk>表示一个整数类型的参数,它将作为对象的主键传递给UpdateView。在视图中,可以通过self.kwargs['pk']来获取这个主键,并使用它来获取要更新的对象。

除了主键,还可以使用其他唯一标识符来指定要更新的对象,例如使用slug字段或其他自定义字段。在URL模式和视图中,需要相应地进行配置。

总结起来,从一开始没有对象,UpdateView无法工作。它需要一个对象作为参数来指定要更新的数据,并通过URL中的参数或其他唯一标识符来获取这个对象。

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

相关·内容

能不能手写Vue响应式?前端面试进阶

API Object.defineProperty 进行封装,接受三个参数,监听的目标对象、属性名,以及属性值,一个target(对象)通过调用 defineReactive 就能够实现对 key(对应属性名...,而当对 id.num 进行赋值时,未触发数据更新,根据 步骤5 的代码可以看出,这其实是因为执行 set 的时候没有对设置的 value 进行处理,导致了 num 属性没有被设置监听。...在这里的实例中,解决办法就比较简单粗暴了,只需要直接在 set 里将 set 接受的 value 放到 observe 函数里执行,就能够对 value 进行监听了,下面是最终的defineReactive...、嵌套属性进行监听,但是,如果 某个属性是一个数组 呢,对数组进行 push、pop 等操作,会触发更新?...First Paint Time总结当使用 Vue 一段时间后,或者说已经能够熟练使用 Vue 的时候,我们就需要开始进一步挖掘 Vue 的高级用法、原理等,从根本上学习、了解 Vue 的 底层原理,

60020

能不能手写Vue响应式?前端面试进阶

API Object.defineProperty 进行封装,接受三个参数,监听的目标对象、属性名,以及属性值,一个target(对象)通过调用 defineReactive 就能够实现对 key(对应属性名...,而当对 id.num 进行赋值时,未触发数据更新,根据 步骤5 的代码可以看出,这其实是因为执行 set 的时候没有对设置的 value 进行处理,导致了 num 属性没有被设置监听。...在这里的实例中,解决办法就比较简单粗暴了,只需要直接在 set 里将 set 接受的 value 放到 observe 函数里执行,就能够对 value 进行监听了,下面是最终的defineReactive...、嵌套属性进行监听,但是,如果 某个属性是一个数组 呢,对数组进行 push、pop 等操作,会触发更新?...First Paint Time总结当使用 Vue 一段时间后,或者说已经能够熟练使用 Vue 的时候,我们就需要开始进一步挖掘 Vue 的高级用法、原理等,从根本上学习、了解 Vue 的 底层原理,

59310
  • 能不能手写Vue响应式?前端面试进阶_2023-02-27

    ,对 API Object.defineProperty 进行封装,接受三个参数,监听的目标对象、属性名,以及属性值,一个target(对象)通过调用 defineReactive 就能够实现对 key...的数据更新,而当对 id.num 进行赋值时,未触发数据更新,根据 步骤5 的代码可以看出,这其实是因为执行 set 的时候没有对设置的 value 进行处理,导致了 num 属性没有被设置监听。...在这里的实例中,解决办法就比较简单粗暴了,只需要直接在 set 里将 set 接受的 value 放到 observe 函数里执行,就能够对 value 进行监听了,下面是最终的defineReactive...、嵌套属性进行监听,但是,如果 某个属性是一个数组 呢,对数组进行 push、pop 等操作,会触发更新?...First Paint Time 总结 当使用 Vue 一段时间后,或者说已经能够熟练使用 Vue 的时候,我们就需要开始进一步挖掘 Vue 的高级用法、原理等,从根本上学习、了解 Vue 的 底层原理

    63830

    「Strve.js@2.x正式发布与做open source的一些感受」从90%到100%这个过程真难!

    其实说就是很多时候,大家都是刚开始做开源的时候,这种创造一种东西的快感所吸引。没有意识到你以后会有很多的commit。...如果你工作本质就很烦忙,那么大概率你就没有可能做这个。所以确实说,想好你的想要什么吧!如果你没有真的条件,如果真的很拼很拼,我就是996,我也要做开源,那你要做好心理准备。...其实考虑的问题就是说,首先,这个比较大了,当然这个考虑问题也不是一开始就完全想好,Vue也是从一个小项目慢慢发展起来的。...刚开始也开发了一段时间,搭配Babel可以简单实现JSX语法。但是到后来觉得并不是那么完美,还要解决一些类似修改数据更新视图的一些问题。熬了几天夜,也没有完美的解决。最后,还是放弃了这种方案。...第二个参数传入一个对象,第一个属性data表示的意思是状态对象,第二个属性template表示模板函数。

    1.6K20

    Object.defineProperty也能监听数组变化?

    没有看到可以监听个数组变化的。 但 Vue2 有的确能监听到数组某些方法改变了数组的值。本文的目标就是解开这个结。...深度监听 上面的例子是监听基础的对象。但如果对象里还包含对象,这种情况就可以使用递归的方式。 递归需要创建一个方法,然后判断是否需要重复调用自身。...target) { defineReactive(target, key, target[key]) } } // 准备数据 const data = { name: '雷猴' } // 开始监听...但递归有个不好的地方,就是如果对象层次很深,需要计算的量就很大,因为需要一次计算到底。 监听数组 数组没有 key ,只有 下标。...准备数据 const data = { nums: [10, 20, 30] } // 监听数据 observer(data) data.nums.push(4) // 监听数组 上面的代码之所以没有直接修改数组的方法

    52220

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

    如果get_object() 返回一个对象,则使用该对象的类。 如果给出queryset,则使用该查询集的模型。 模型表单提供一个form_valid() 的实现,它自动保存模型。...你甚至不需要为CreateView 和UpdateView提供success_url —— 如果存在它们将使用模型对象的get_absolute_url()。...注意这里我们是如何配置通用的基于类的视图的;我们自己没有写任何逻辑: #views.py from django.views.generic.edit import CreateView, UpdateView...fields 属性的工作方式与ModelForm 的内部Meta类的fields 属性相同。...除非你用另外一种方式定义表单类,该属性是必须的,如果没有将引发一个ImproperlyConfigured 异常。

    1.8K20

    Android仿简书长按文章生成图片效果

    但是从某一个版本开始,这个功能开始有bug了,生成的图片只有底部的固定标题,而没有文章内容,长图也变成了小短图。...效果预览 老规矩,首先看一下实现后的效果;虽然整体没有简书有范,个人感觉还是挺像的。 ? 文章页实现 内容 文章页内容的实现,没有什么难点。...数据是根据布局中所需的内容,封装了一个HtmlBean 对象,而这个对象的则是通过使用Jsoup 解析当前页面的HTML文档内容获得(这里使用Jsoup 方式获取简书网页内容,只是个人学习,没有其他用意...保存图片 距离我们最后的目标 生成长图片 ,前面的工作可以说只是完成了50%,因为到目前为止我们只不过是在WebView中把整个文章内容加载出来而已;长图还没有呢。...因此,下面的工作就是通过WebView 生成长图。

    1.7K20

    React Native渲染原理浅析

    //省略 return appKey; }, 这里把渲染函数存在runnables对象里。那么,是什么时候开始执行这里注册的runnables呢?这里就和客户端的调用有关了。...== null); return null; } 从这里可以看出,React遍历组件树深度遍历走到底了,就算作一个单元,完成当前的渲染工作。 这样做的好处是,可以把遍历工作分散成小单元工作。...执行handleCreateView之后,会把这些信息转换成一个对象,放入队列里,等待执行。...比如文本Text标签,对应的ViewManager实现是ReactTextViewManager对象。如此得以创建真实的Native节点。...打开React库的代码,在ReactFiberCompleteWork.js: 所有的渲染实际Dom相关的函数从一个文件获得。

    5.8K30

    每个前端开发者都可以开发一个属于自己的库或框架「Strve.js生态初步建成」

    开始也开发了一段时间,搭配Babel可以简单实现JSX语法。但是到后来觉得并不是那么完美,还要解决一些类似修改数据更新视图的一些问题。熬了几天夜,也没有完美的解决。最后,还是放弃了这种方案。...刚开始我就是从基础着手,写一串字符串,然后怎么想办法将字符串挂载到页面中。借鉴了React、Vue这些框架的思想,在页面指定一个挂载元素。...Strve.js又是一款轻量级的MVVM框架,你只需要关心数据以及如何操作它,其他工作交给Strve.js内部处理。...第二个参数传入一个对象,第一个属性data表示的意思是状态对象,第二个属性template表示模板函数。...开始 尝试 Strve Router 最简单的方法是使用直接导入 CDN 链接。 您可以在浏览器中打开它并按照示例学习一些基本用法。 <!

    93840

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

    从本讲起,我们开始个人中心功能的开发。个人中心里面包括个人资料、修改密码、订阅设置、意见反馈这四部分。通过这部分的开发,我们将会接触到更多django的用法。 <!...个人资料 这里主要是对个人资料进行编辑,先显示用户原有的信息,然后用户即可对其进行修改并保存,对于编辑功能,django有自己的解决方案,即通过通用视图类UpdateView对模型进行更改。...我们这里继承了UpdateView来实现更新操作,和DetailView类似,我们这里也设置了model和template_name 还有form_class。...当更新成功后,django会回调get_success_url来将结果告诉模板,因此我们可以在get_success_url里面做一些定制的工作,我们可以传一些自己的参数。...Meta: db_table = "v_feedback" 该表一共有3个字段,分别是 contact 联系方式 content 内容 timestamp 时间 写完model之后,我们就能写业务代码了

    1.2K00

    Java设计模式总汇二(小白也要飞)

    PS:上一篇我介绍了适配器设计模式、单例设计模式、静态代理设计模式、简单工厂设计模式,如果没有看过第一篇的小火鸡可以点这个看看http://www.cnblogs.com/cmusketeer/p/8146510...上面什么都有了,那就开始测试一下吧,随便写一个带有main方法的类即可 (4)测试 package mvcmoshi; public class MainShow { public static...意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。...主要解决:对象对象之间存在大量的关联关系,这样势必会导致系统的结构变得很复杂,同时若一个对象发生改变,我们也需要跟踪与之相关联的对象,同时做出相应的处理。...args) { User zhangsan=new User("张三"); User lisi=new User("李四"); zhangsan.setMessage("四哥,你下午有空

    51890

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

    文章列表页 DetailView 显示对象详情 文章详细页 FormView 提交From 网站联系我们或emai订阅form CreateView 创建对象 创建新文章页 UpdateView 更新对象...方法: get_queryset():获取此视图的对象列表.必须是可迭代或者可以使查询集.默认返回queryset属性.可以通过重写该方法实现动态过滤.让这种方式能够工作的关键点,在于当类视图被调用时...方法: get_success_url():决定在表单成功验证后重定向到的URL,默认返回success_url. form_valid(form):在表单验证成功后调用该方法(注意并没有对数据进行操作...可以直接用Django通用视图里的UpdateView和CreateView。...不过点击Update后会有一个报错:191989-055d8b7a362f2603.png 意思是新增后修改完成后我们没有定义一个redirect的url去跳转。

    3.2K10

    最近迷上了富文本编辑器!

    这是实现一个富文本的根本 wangeditor wangeditor 从第三个版本开始我基本也都看过,见证了他一步步的从一js到ts 的重构、从重视拓展性到到面向对象再到现在社区流行的函数式、从必须兼容...V4 刚开始读v4的时候最最高兴的就是他每个方法都有注释,至少咱知道从哪里入手,然后就是经典的面向对象设计。也正式这种设计,让我对面向对象,关注度分离这些概念在脑海中有了具体印象。...在开始之前,我们现在介绍一下什么叫面向对象 面向对象 面向对象编程(OOP),是一种设计思想或者架构风格 他的本质用大佬的话来解释就是:OOP应该体现一种网状结构,这个结构上的每个节点“Object”只能通过...利用这三点,就能处理大型复杂系统的设计和实现,但是当然他也不是万能的 比如 我一个数据,需要不断的转化和清洗成另外一个格式,那么显然面向对象是不适用的。...它为「协同编辑」所设计:因为网络条件、客户端硬件、应用架构的限制,早期的一些 Web 富文本编辑器并没有考虑到多人实时协同,Slate.js 的模型设计天然就亲和协同编辑,通过学习 Slate.js,我们也能借道了解基础的多人协作文档工作原理

    3.6K30

    iOS 惯性滑动效果

    寅时室内地图.gif 讲一下写这篇文章的原因:安卓是由于有系统的api,在滑动手势结束后调用系统自有api,传入手势结束时的速度(x方向和y方向)就能由系统自己做完往后的操作。...而iOS并没有,但我还是自以为这个功能很好做...然而构思之后发现还得找百度啊,但百度给我的结果却没有一个能满足我。...(这就跟UIScrollView的滑动效果类似,但是网上是没有代码资料的) 为了公司利益考虑,文章代码我专门写了demo来演示。...进入正题: 1.明确我们的目的:手势滑动后拥有惯性滑动效果 2.思考具体实现:手滑得越快,作用对象的惯性越大,运动时间越长,手滑得慢,作用对象的运动速度就越小,运动时间也越短 3.出现的一些小问题...最重要的是:我们公司的产品用这种UIView的方式是实现不了的,使用的是矩阵transform,所以接下来就开始第二种方法: 二、两种方法的区别在于处理手势滑动事件,第二种方法我们先定义了几个变量对象

    3.3K71

    一篇可能会让你爱上MVVM与ReactiveCocoa的文章

    但是,当你真的去百度相关概念时,往往会很纳闷,似乎比我现在还麻烦,甚至开始怀疑,MVVM应该还只停留在理论阶段吧!...--NO,只是因为你没有找到合适的文章,没有找到合适的工具--ReactiveCocoa!...提供一个使用Model作为参数的便利初始化方法;控制器或模块内部,就直接使用传入的ViewModel.这样,我觉得才是极好的,一方面自己可以践行MVVM,提前踩踩坑,另一方面也基本不会对其他小伙伴的开发工作造成太多的困扰...添加初始化方法 -initWithArticleModel: 以便于从一个YFArticleModel对象构建视图模型....添加初始化方法 -initWithModel: 用于方便从一个 YFArticleModel 数据模型新建相应的视图模型.

    1.3K60

    【Vuejs】1146- 这些 Vue 的技巧你都掌握了吗?

    ViewModel 通过双向绑定把 View 和 Model 层连接起来,且同步工作无需人为干涉,使开发人员只关注业务逻辑,无需频繁操作DOM,不需关注数据状态的同步问题。...Vue 3.x 则不是一个对象,源对象不具备响应式功能。 适用的场景:在项目中没有大量的非父子组件通信时,可以使用 Vue.observable 去替代 eventBus和vuex方案。...我项目中有涉及 一键copy、权限控制 都可以用指令的方式控制,目的就是简化我们的工作量。 推荐一篇 分享8个非常实用的Vue自定义指令[5] 。...原因是第二种方式传参是上一个页面 push 函数中携带的,刷新没有 push 的动作。...SSR 服务端渲染,将 HTML 渲染工作放在服务端完成后,将 HTML 返回到浏览器端。 优点:SSR有更好的 SEO,首屏加载更快。 缺点:服务端负载大。 如果是内部系统,SSR其实没有太多必要。

    1.7K20
    领券