00:00
那么我们把这个数据展示完成以后呢,接下来啊,接下来咱们今天呢,就去呃,把这个个人信息页面,你这些该有的功能是不是都得搞定啊,对吧?而且搞定这些功能的时候呢,是不是第一个就是修改头像,再一个是不是你修改这些数据啊。啊,这是修改我们的信息,修改头像修改信息。对吧,还有一个什么修改邮箱,把这个修改密码。我不计划做了。啊,不去做了,因为他和我们之前的这个,呃,忘记密码是一样的。OK,好,所以说你这块。你到时候忘了,你就看前面那个忘记密码就行了,一模一样。OK,好完成以后呢,我们首先就来看看什么,看看这个修改头像啊,这个修改头像啊,这个修改头像。跟他说。你得遵循人家这里面的插件。你有没有发现,当我去点击修改头像的时候?我随便再来一张。图片。啊,随便来这张吧,我一点击你看到什么。
01:07
失真了。不是失真不深正的原因啊,真不的原因就出在是人家有缓存。你没有发现,你一点击这个图片就直接进来了。他为什么可以直接进来呢?这是人家用的插件。啊,这是人家用的差价,所以说呢,我们这块如果要遵循人家的这种原则。假如说我们如果是写这么一个玩意儿,你是不是就来了一个什么菩萨里边来一个fire。来这你选择的时候,这块是不是应该显示的是你的图片的名字呀。你会显示出这个图片吗?你不会的。啊,你不会的,所以说这块人家是用了前端的插件了,所以说呢,我们在这个修改头像的时候就遵循它的原则就行了,啊子样呢,OK,那么这块我们该如何去修,修改头像呢,再看。
02:07
它它页面在它的页面上面,这是不是有一个缝。对吧。这不是咱们修改头像的部分吗?对不对,这一个form母,Form母里边这是不是有个image对吧,完了以后呢,在它下边这是不是有个input步到它是不是等于这啊。对吧,然后呢,他在这个啥呀,他在这个ID号。写了一些什么,写了一些勾S的啊,做的插件对吧,完了以后呢接着。接着当我们修改完成以后。那么他就会干嘛,他就会把这张图片。给你修改过来,而现在你觉得你修改过来了吗?没有的。你刷新一下,是不是又回到原来了。对吧,只不过你在修改的时候,它有一个什么。有这么一个预览缓存预览的功能。
03:00
OK不OK?啊,那么你想要遵循人家这个东西,那么呢,我们在修改头像的时候就得。按照人家的这个规则去走。好,那么它这个规则是啥呢?看到这块有个X了吗?这个X。就是你一会儿给写的view处理图片的。一个URL,而这个URL你给配一下就行了,也就是说前端的。他这里边的任何东西不需要你改。能明白什么意思吗?你不需要在前端任何地方去做做动作,你做反而干嘛?不行了。啊,这里面任何东西你都不要动。移动它就没有什么,没有预览缓存功能了。OK,因此我们接着干嘛?在我们的user下边。Ul里边。直接给他配个什么,配一个后台处理逻辑就行了。
04:01
UR这个什么呢什么的。有。Mid。然后呢,同样的,我们也叫什么user change image。这边也是倒过来。看到吗?我给他配这么一个ul,接着呢,我干嘛,我就去到我的这个view里边,再给他写一个就行了。对吧,我们的U3称之一。这里面是我的request。
05:04
我干嘛好,那么呢,我们这边到时候他一点击,他是要干嘛,他是要把他的这张图片传到我们后台来的。他这儿。拍个人去,他头像,他一上传这块他哥们他会把这张头像。上上那么胡涂来的。也就是说,它的内部其实也是用到了一个POS。子,因此他在传这张图片的时候,我们就要干嘛。我不对他的图片进去干嘛。验证。能明白啥意思吗?虽然说这个前端页面不让你干任何的事情,但是你要知道了,它一点击是要通过post方式,因为它是一个form嘛。对不对,它这个form,它是需要通过post的方式把这个玩意儿给传过来的。啊,而且。既然是post,咱是不是也得给他一个啥啊。
06:05
CF图,我们加上一个CF。好,那么呢,它会自动的把这张图片给你传过去。而传过去以后呢,我们是需要干嘛把他的这张图片给他拿到,他内幕是不是也叫image?看了吗?另外面值,然后呢,我们在哪呢?我们在它的form当中,需要给他建一个form。这个呢,我们就叫啥class,我们的user change,一位form。这里面呢,我们直接让他继承我们的谁啊。点。OK,而这块给大家写这个玩意儿是为了干嘛,是为了教给大家如何用model做修改。之前咱们是不是用过model form做?保存保存啊。
07:00
做的是创建对象嘛,对吧,你在我要学习里边是不是自动的CE,是不是就创建一个对象啊,而这块是为了教给大家怎么去用model做修改。那么这。这的话,他现在内是不是也叫一美对吧,我就让他。他自己不用给他判断了,咱用这个,咱用这个model里边的东西做判断就行了,Pass我们的麦,在麦里面我们指定model model呢,我们就让他是谁的model就行了。这不。不是把我们的右侧普导进来,From我们的。而POS的就是pro表。导进来以后呢,我们这边user profile它的。用到卡的谁呀?里边的image是不对我们前面传过来的这个image进行做验证啊好,然后同样的第二个。
08:05
是不是直接等于谁就行了?你位置就行了,我只需要验证这个字段,其他字段我不验证的。OK,不OK,我们只需要写这么一点,那么咱这个父母就有了。啊,有了以后呢,那么呢,我们就可以干嘛,可以到后台去用啊。好,那么呢,我们在view里边。这咱们是不是要用到我们的这个。User change image format。OK,好。然后呢,我们到下边继续。User change,他的父母。是不是等于我们的user change没方法,这里边我们写的是request。第二,Post。
09:05
还有吗?它传播的是一个什么?他传过这个文件吧。那咱应该写什么?是不是?还记得吗?我们当时在。在哪儿啊?在博客里边是不是给大家增加过文章,那会有没有上传过图片?这个图片吧。你上传图片的时候,你需要干嘛,你验证的时候是不是需要把它的request.file传过来,因为他到时候所有的文件是不是放在这个file里边的,而不是放在你这个posts post里面,是放在我们的普通的数据的。
10:10
对吧,而这个里面放的啥。放首你的文件吧。边境。文件。放的就是你的文件。啊。放在这里的文件内容嘛。你你传到我后边,你是需要让我后边进行进行进行保存呀,乱八七糟的。就把你整个文件传过来了吗?完了以后,这边我们还有一个什么呢。好,那么这个instance等于3.user,这个一旦写出来代表啥意思呢?
11:00
代表着我现在认证的这些字段。他的这这啥意思啊。实际吧,你。这是咱潘森里边的。这个之前你们肯定学过吧。好,这是咱们的这个这个玩意啊,然后instance呢,我们给它来个什么点user代表啥呢?代表着我都传过来这些个玩意,它属于哪个实例。属于的是我目前登录的这个用户的实力。你写出来的这个东西也通常代表什么,代表着你要做修改。你只是修改这一项。就是给谁做修改呢。根据卡点有所做修改。能听懂什么意思,就是你传过来这个一位纸就是给谁的。
12:04
给这个user的,到时候要修改,就是给这个user进行修改的。三呢好,往过这块一定要加。加完了以后呢,接着其他的东西一样的好,那如果说你这个user image它的。There is。Image。Form,它的点is whether,如果它是合法的,那么它这个图片是不是就过来了,过来以后呢,我们只需要让谁啊,User change image form,让他去save,并且让他commit,等于。这样的话呢,他就会知道哦,我这个玩意儿不是干嘛,不是在创建,是在干嘛,是在对他做修改。房子呢?因此你要修改必须要加上这个谁啊因子代词给哪个实例修改?
13:05
能不能听懂我的意思?好。那么接下来如果他修改成功,那么我这边就可以给他委通了。啊,这个咱们return啥呢。它的内部所做的。所做的那个玩意也是用了一个啥。正儿八经,他内部用的是一个阿贾克斯发送的请求,那么呢,我们在这儿直接给他return一个response就行了。所以我们的Java,它的HTP。你们配的谁呀?这是么?好,然后在这边呢,我们直接response。啊,然后这里边儿咱们随便来一个东西就行了,因为这个东西你是返回给他,他自己写的那个写的那个东西了。
14:03
而且你们在前面是看不到这个玩意的,我们也不需要处理,我们只需要给他返回一个东西就行了,就叫一个status,然后给他来个谁啊,OK。Else。要死,我们就给他来个啥呀。就行了。什么都不需。不需要给他返。OK,我们仅需要干嘛?仅需要遵循人家规则,你给我写一个处理函数就行了。其他一概不需要你管。写完了以后啊,这边的view写完了以后呢,接着我们在这边仅仅需要把谁改一下就行了。把这个X改成你刚才配的那个东西。能听懂我在说什么意思吗?好,我把这个X改成啥呀?改成我们的user。
15:03
URL。这里面呢,就是我们的users,它下边的。U3称里面。都改过来,改过就行了,其他的一概不需要动。行子三呢,因此中间我们再去修改这个图像的时候,修改这个图像的时候,前面的东西你只需要给我放布里面加一个S图。什么都不需要你管。你也不需要管你怎么去传。怎么去点什么都不需要你管。OK,然后呢?当他一旦改变这个图片,它会自动把这个图片往后台提交,往哪提交呢?往这个action这块去提交。啊,他相当于给我们写了一个什么,写了一个插件,和我们的绑对在一块了,你只要给我改,他就会干嘛,就可以往这提交。OK,他们往这提交,那么呢,我们就在URL里边,专门给他配这么一个URL去处理它就行。
16:05
它就提交我们是不是到这边给他一接收啊,好,因此我们在view里边只需要写这么一个view就可以给它搞定。啊,当然他一启动它用的肯定是POS的,所以说呢,我们得干嘛,我们得用我们的一个form对它进行验证啊,对吧,他验证它的时候呢,我们这块教给大家如何去用model form去做修改。对吧,那当然我这个focus里边是不是就只写了一个谁啊,意味着。对不对,因为我只需要干嘛,我只需要验证这个。我用到了这个model,但是我只需要验证这个image,因此我的就已经指定死了。不用验证它,验证完它以后呢,我们在我们的view当中就可以继续走了,通过这个form我们就可以干嘛去做验证,而这块端验证走的话,大家在敲的时候一定要注意啊,第一个这个request.post这个post是为了验证图片以外的数据。
17:02
这个file它是为了干嘛验证我们的文件?啊,验证文件,只要是文件你传过来你都要干嘛,放在这个file里边。啊,对它进行验证,再一个呢,就什么instance,而这个instance了,这个参数咱们大家第一次见,也是今天要给大家说的,你要做修改,你必须要指明你修改的是哪个哪个实例,否则的话,他这个肯定在等于处,他哪知道是创建还是修改呢。能能能听懂我说的意思吗?之前咱们是没有这个的意思,没有这个意思,他是不是直接save,直接save在不在是不在创建一个不接保存呀。我要学习那块还记得吗?他直接创建一个直接保存,他现在你是要做修改的。啊,你既然要做修改,那么呢,你就得干嘛给我指明因在实例是谁先指明了实例,那么就他就知道了,干嘛,那是一个修改的操作啊,修改的操作那么呢,我就直接把谁呀,把到这同样呢,和我们之前一样。
18:05
OK,这块完成以后呢,你只需要干嘛,咱腾一个东西腾回去就行了。啊,回去就是。其他的不用管它啊,不用管它,然后呢,我们可以干嘛,到这边去试一下子,看行还是不行。对吧,那么接着。我们就刷新了。OK,刷新了以后,它是不是又回到我们以前的头像了,对吧,我再点击这个头像,这个头像呢,我这次。我把这个F12打开吧。换成他。我把这个F打开。工作了。其实咱这块已经换过来了吧,换过来以后呢,我再去干嘛刷新看有没有变成以前的,如果变成以前,证明这个图像是不是没改过来对吧,如果他没有变,那是不是证明。咱这个头像改好改好了,所以说这个分析变了吗?再走变了吗?没变没变证明咱这个头像是不是修改过来了,因此这块需要给大家讲解的啥,就是说你这块要做修改头像,你必须要遵循人家的这个插件。
19:09
你不要自己自以为是。啊啊,元哥他这个没有三米的,我是不是应该给他加个三米的,诶元哥他这块没有用,二甲14,我是不是应该给他加个加个二甲14。你是可以加,但是你一加人家的这些缓存预览的功能咱就没法享用了。啊,没法享用那。你过出来就看着非常非常非常的low。啊,非常非常low,所以说咱们这个遵循它的规则,只需要给他干嘛建我们的后台,没有逻辑就行了。Understand。好,那么这就是咱们的什么呀,修改头像的功能。啊,这块给他写个注释。啊,就这。
20:07
指明。指明实例是什么?做修改的时候。我们需要。知道是给哪个对象实例。进去休息吧。如果不知名。那么就会被当做。创建保存对象。创建对象。就这行。
21:00
而。我们。只有一张图片,只有一个图片。就一定会报错?他想你如果不指明这个玩意儿,你现在是不是就传过来一张图片,传过来一张图片,他是不是相当于在给你创建一个。User的对象,就它相当于在创建user对象。创建这个对象的时候,那么我们的优内容你有吗?那拍的你有吗?这不都没有啊,你只有他那张图片你过来了,他就相当在创建一创建一保存,指指定保存。那么这个instance干嘛必须要写上?你如果是做修改。听懂了吗?好。那么这呢,就是咱们这个啥。修改。同向的不能对吧,好。
我来说两句