00:00
来,我们看一下我写的这个关于。嗯,图书的这个分类哈,图书分类这里呢。我们把这个添加和列表已经做完了哈,那非常简单,就是剩下的就是做这个删除和编辑,那删除呢,也给大家说了,删除有一个条件,就是比如说这个呃,这个这个元素我要把它做删除那。首先这个类它的下面如果有子类是不允许被删除的,对吧,这第一个条件,第二个条件呢,是这个类下面如果有商品发布,也不允许删除对吧?所以你只能删除一个空的,没有用的一个分类,明白我意思吧,啊,有用的都不能删删。好,那么这个位置,嗯,接下来怎么做呢?我们在那个。嗯。嗯,在这个位置哈,给他做一个那个叫什么,用阿贾克斯做删除,那点击它把这个当前ID发送到后台,后台呢做个检测和判断,看它有没有这个叫嗯此类和商品,对吧,如果没有的话,就把它删掉再回来啊,如果有的话呢,就不允许删除返回就可以了,对吧?啊所以呢,我们后面哈,我们先把后台的这个逻辑先写一下啊,在当前的这个table view里面。
01:14
找到我们删除这个逻辑哈,在这里呢,先接收这个idd,那么第一个呢是request.get点对吧,先接收。我们的ID这个参数,那么接收完ID之后呢,去查询一下这个对象啊,等于我们的models。叫mods.book b。铺态啊,点OBGCTS,再去点get查询,那ID等于ID是不是查到这个元素啊啊然后接下来呢,去检测,或者叫判断当前分类,当前类项,当前类下是否含有子类,这第一个个第二判断呢,是判断当前类下是否还有商品。
02:01
商品,那如果都没有,那执行删除,如果有在商品之前就应该返回了,懂我意思吧,啊这个位置获取分类ID,获取分类ID,然后这里呢,是获取当前的。分类对象,分类对象对不对?好,那么第一个问题啊,怎么去判断当前类项是否还有子类?当前这个类的下面还有子类啊,我们怎么去判断。进入买数给我看一下啊。看一下是当前数据库里的数据哈,怎么判断有没有别的办法,一次就能确定它有此类还是没有。就是到当前这个表里边,比如说我要删教育这个类,它的ID是一是吧,当前pad这一列当中,如果有等于一。
03:05
就证明有这类不能删。如果没有,有他就没有了,明白了吗?还管他孙子类干嘛呀?就是看有没有子类就行了。明白吗?有子类,那肯定有可能有孙子类,有可能没有,那我管你有没有呢?只要没有子类,就证明绝对没有孙子类类,听懂了吗?他不生儿子,儿子哪来生儿子?明白我意思吧吧,对,很简单吧,所以就是查pad里边这一列有没有当前这个ID的,如果有。不允许什么不允许删除,听懂了吧,所以这个位置哈,直接这么查就可以了哈。啊,这个number等于models点,叫book.objects点。这个叫FLTR。啊,查PID这一列有没有等于ID的。然后点。嗯,有个方法叫什么呢。
04:01
看一下有个方法模型的,这个查询有一个方法叫做返回当前查询的总条数。直接在后边去调count就可以了,点count括号看一下当前的number。明明白我啥意思吗?对啊,看一下这个number好,这样我们这个ID怎么传过来呢?我们这个其实中间这一步查询是不是暂时还用不到。对吧,这个查询是不是还用不到,还用不到,好这样我手动来访问一下啊,手动访问一下,怎么访问呢?我们这个位置来复制一下这个地址啊。CTRLC复制一下。在这个位置啊,访问一下啊,这个叫de delete对吧,斜杠问号ID等于一。看这边的结果,哎,不是这个是这个是不是有。看了吗?是不是优质类好,那么我们再删再选择,也就是说教育这个类是不是不能删,那么这个类我就不查了啊,我查那个叫什么。
05:04
查这个高中数学,他的ID是四对吧,我传个四进来。买卡零看到了吗?没有,那他是不是可以被删除对吧,他是因为他后面就没有了,对不对,就他下面没有子类了。明白这意思吧,所以用number是不是可以做判断了啊?Number判断if判断这个number的结果如果为甲。可以上传对吧,如果为真。不可这样子是吧,好,那这样去吧,哦,还不能去吧。我们这里怎么区反哦对对闹的行,忘了我在想怎么区反的对闹的闹闹啊,就是如果为假的情况下啊,如果为真是吧。哎,诶真是有的吧,所以这个位置是不能删除对吧,不能删除,所以这里地方一个re,一个son response。
06:08
返回冒号号一。Message消息是当前分类下还有子类,当前分类下还有此类,不能删除,能理解吧,好,然后接下来这个如果过了再往下走了,再往九走,是不是走到这了,是不是走到这个位置,判断当前肋那一下啊,类项是否还有商品,我们目前还没做商品,所以这个判断就先不做了,懂我意思吧。啊,但是这个位置是不是应该也是这样的,就判断他有没有商品,如果有产品类似哈,类似这个固执叫叫固执叫固执number吧,啊,如果他有是不是也是不能删除啊,不能删除懂我的意思吧?啊当然现在是没有,所以我这里只能给你写个假的哈。
07:00
当前类下还有当前类分类下有商品有有商品发布,有商品啊有书籍发布,书籍发布不能生存,能看到吧,这个我就相你注释掉了,到时候回过头来你们自己写这个个听懂了吧,就这个条件,你们自己写可以吧啊好我就不写了啊好,剩下的没有问题,以后走到这儿是不是就可以做删除了,走到这儿删做删除哈,那我们就把查询放到这这在这查点那个叫delete。是不是就可以删了对吧,然后再看他有没有问题对吧,如果没有问题就删除成功了对吧。嗯。后的零删除,删除。然后没有的话,如果有问题的话,Ex萨不打不打不打。冒号怕啥?这个是多少,来个三吧,删除失败,哎,说进到里头去吧,无所谓了,反正后边也不考虑别的代码,对吗?看到吧,这个逻辑是不是就这样的的清楚了吧,先获取ID,判断这个类下是否有子类,如果有子类不能删删。
08:17
啊,没有指令的话,继续往下走,判断这个商品下还有商品,如果有商品不能删,没有商品的话,再往下走,再做删除,明白了吧?啊,最后反正就是返回我成功还是失败了,听懂了吧?好,那这个完事以后,就是在我们的列表页面是不是提交了一个删除,在这里点击它的时候,是我把这个ID给我传过去。对吧,来看一下这里怎么写啊,来首先第一个啊,给当年的三个按钮绑定一个单击事件获取当年的地,这都不用动吧,好,然后二点格斯请求到后台,这个地址是不是换一下。对吧,Tys deleted去,然后判断如果上线成功,这一行删掉对吧。对不对啊,如果删除,不管他成功还是失败,反正这个提醒信息是不是都要弹,明白了吧,提醒信息咱们是做了弹框,其实大家不知道有没有见过提醒信息是是这样的。
09:07
是在这个位置慢慢的浮动了一个元素,浮动出来一个元素,然后又消失了,见过那种吗?知道那种怎么设计吗?这个框架我不知道,对那个说白了就是不用框架,咱们自己也能设计一个,你设计一个div,它是浮动的,然后在这个位置显示,然后把字体啥的调整好,然后让它隐藏掉,等到你要显示什么提醒信息的时候就去调。对,就去调那个这个这个这个嗯,这个这个封装中心函数,到时候调函数,函数里边把这个元素不弄显示了,然后三秒之后再隐藏掉。明白那个效果,自己能行吗?自己写作,我先设计一个大概的丑就丑,要有好看的那个模板,咱们换成模板,没有的话,我们就设计一个很丑的也可以行吧,啊,这个应该就没问题吧,就不用动它就行了,你看换个地址拿过来照用,对就不用管啊,好,然后我们去看一下哈,呃,在哪里呢?在。
10:06
这个位置吧吧,设计一个div,然后给他一个那个叫ID,等于一个aler message,好吧,就提弹提醒信息的看了吧啊然后呢,是一个比如说删除失败,举个例子啊举个例子子啊,那么这么写完以后,得把这个元素啊给它设置一点,那个叫样式啊写一下啊井号的这个元素冒号呃括号啊括起来,然后给它设置一个什么呢?宽度。来个那个。呃,五十百分之好吧,然后高度来个呃,来一个100PX好吧,然后给他来一个背景颜色。呢,来个rgba的,Rgba是不是带那个叫什么。对,带透明度的哈,对来那个,嗯,我靠这个这多少。
11:04
两百一百,嗯50逗号0.5好吧,啊0.5好,然后这里边呢,设置一个字体叫呃叫然后那个字体是显示白色的行吧。白色的字体是什么?井号的FF,可以吧,可以吧,好,然后呢,还得来一个叫,来一个叫。嗯。还是呃不不要叫那个叫呃以咱们的窗口进固定对吧,那么它离窗口上面呢,有10%的。可以吧,然后呢,有50%的距离,我们可以大概看一下这个样式是什么样的。哎,10%怎么到这儿了?
12:00
他没起作用吗?和哦个静态,它本来就是错了。这位看。50%有点多是吗?上面这个什么。宽度诶居中,呃,那个那个属性是什么?TRA,这个第一个这个属性是什么?这个调到50是吧,诶是卡这了,把这个先退出去来刷新一下看看刷新。嗯,可以是可以,只不过被元素遮挡住了,来个ZZ9999。走。哎,我靠,这样都被打打不是往中间放的问题,那个元素的级别得多高啊诶。不可能吧,这个元素是浮动的,也不能。
13:01
他为什么级别这么高啊?总是被他挡住。刷刷刷刷。往下一点。咱们往下让,让给你,让给你让20%。行吧,然后挡住了这个位置是吧。再来一点百分之二十五。别挡别挡东西这样行吧,填写信息,然后到时候呢,他能够隐藏掉就可以了,隐藏掉啊,然后诶中间的这呢。诶。海。可以了吧,嗯,然后他自己呢,会那个消失掉就行了。
14:01
什么小一点,宽小一点,字大一点是吧,嗯,放扇子。20PX,然后小点的话,高度减一点减到30。宽度减到宽度还用讲,宽度不用讲,嗯嗯。字儿太大了了,行了,好看不好看的你回头重我,我估计模板上是有啊,没有的话就到它那个叫什么。到UI那个网站上去找一下就行,好吧,对这就可以了,好这是这只是把它写出来了对吧,那么默认它的隐藏掉对吧,所以这里呢来一个方法叫做呃第play。叫什么隐藏掉好,然后找到这个元素,这个元素呢,给它封装一下,一下在这里呢,封装一个函数,一个函数叫function。叫so。好吧,然后在这里呢去找到,诶写错了,好括号在这里呢,去找到这个元素井号的。
15:03
叫al tr msg对吧,然后找到它之后呢,先给它复制一个文本,它里边的find find。这个叫span,然后呢,复制一个文本,这个文本消息呢,在你给我的时候,你传给我,所以呢把这个复制给他,另外一个呢,就是改变一下它的那个叫颜色。颜色还需要吗改?不改的话,那就直接那个操作了哈,井号的al tr msg点。点so好,完事以后呢,再启动一个定器,叫time set time so是那个几块里边的一个方法,可以把隐藏的元素给它变形。你。De,好像是我记得,Hi,还是我忘了了,来这么一个方法哈,好,等到我们在这里呢,这个成功,成功或失败以后啊,在这里呢,去不用谈了。
16:07
省得每回弹都挺难看的是吧,嗯,对的,中号。你看十分钟写完了吧,好吧。刷新一下啊,来这里点击删除看一下啊,点击删除。没回来。怎么没回来500服气报500。呀,又是他的错误,误我的个乖,这个又是没到我的个上次导是在另一个方向里边。点击。还不重启啊?这是哪里的啊?音泡的尔母星,音泡的星。Re p?
17:01
Response。好了好了再来,还有错误吗?没有了吧,刷新没有了哈,点击删除。隐藏了对吧,点击删除隐藏了吧,有点慢,最好给他一个按钮,你可以自己点对,点击删除,删除成功。没了。对吧,省得你弹了弹挺挺丑的知道吧,然后你要嫌那个那个咱们写的那个样子不好看的话呢,嗯,Mazuzui对,到UI里去找,或者是咱们原来的那个模板文件里看,有后台哈,我不知道他有没有哈,去看一下一下。嗯,常用页面好像没有别的实零四的错误,这肯定不行,注册这是注册页面了,好像他没有,嗯,没有别的了,打开看一下这个没有,这个没有没有没有有没有没有,这种是挺好看的。
18:12
是不是好了,那我们就到这个页面里边,根据它那个什么,自己去设计的这个这个内容就行了,我们看一下页头页页脚。那两根本不行,应该有啊,不应该没有。这个页面显示的怎么不全了,太太太少了吧。简介内容列表工具栏工具倒是出来呀,没有选项卡标题JS插件有看一下啊,警告框框好,有看到了吗?啥样的都有。要啥有啥看到了吗?费半天劲写了半天是吧,你看我就说他有吧。Am-A然后am-a letter都是成功的,然后如果你是那个叫什么的,呃,失败的,或者是那什么的,是不是可以提醒这个信息对吧,所以那怎么办呢?复制看一下,把咱们这个换掉,把方法换掉就好了。
19:12
删掉往这里放,调整一下格式好,然后这个是元素对吧,看一下啊。复制so mass。调用这个方法。可以吧,点find里边的P表情是吧,把message给他啊。这就完事了,删除消失用我们写吗?应该不用。啊,我不是他这个是那个什么,是一个插的按钮,关掉的按钮。嗯,然后看他有没有那个什么调用,你看他说怎么去调用的哈。哦,你调用这个哦,你调用一个就完事了了。看了,然后呢,如果要传元素,看它的元素怎么传给大,它里边的文本消息怎。
20:02
没写。直接关闭,然后将开启关闭交互按钮交互的功能。Close的方法被调用时自动触发元素被关闭以后触发,来来测一下,这样我们先把这个先把这个注释了,先测试一下注释,那个注释掉掉测试一下啊,看一下这个方法行不行,然后他这个是井号是吧。情号打了。是不是我们不用写close,然后找到元素井号关闭来测试一下啊,看有没有效果刷新。出现了是吧,对,然后等会儿啊。刷新一下直接就显示了,对吧,然后你点关闭。没什么效果啊。是没有找到这个元素啊。来刷新。点击没什么鸟用啊,没什么鸟用没有啊啊可乐的方法可以触发自定义事件,调他这个看下。
21:08
点素刷新is not方式,没有这个方法,他报的是没有这个方法,算了,我们就用它的样式得了了,就光用样式了,好吧,嗯,不用这个了,然后这边来看一下,在这里乐。找到这个元素,它的messages给它复制,然后接下来在这里让它显示对吧,让它显示,然后呢,那个叫结束的时候,嗯,启动一个定器,然后找到这个元素,让他来来就完事了,对吧?这样写可以吧,但是那有一个问题,就是它后边这个类怎么办办。他你看我们那个成功的消息应该显示那个颜色,失败的消息不能应该是那个颜色了吧,其实他不同的颜色就只是改了一个类了,是不是改了后边的一个类看了吗?一个是四个代成功啊。
22:01
另外一个是这样的,也就是说这样吧,那我们在这里呢,就是再传另外一个参数,第一个是消息,第二个是类型可以吧,嗯,Type类型,如果你给我的type类型是if,判断当前的if,判断当前的type,如果它的结果是。给个零吧。给个默认值零,好吧,可以吧,零就代表什么成算了,给个处和false,省得什么什么东西败行吧,如果是如果它为真怎么办呢?就是嗯,就是它的默认就是成功的,对吧,如果它为false,那就是去反他,如果为放的时候,我们把这个到了元素素。点am-A里边呢,去设置一个那个叫什么来。设置一个属性叫什么,这个属性刚才我复制那个at tr啊,还还不能叫at点叫。
23:02
It class。关键还得移除掉他原来那个那个。移除掉,再添加上。就给他换个类,换个类就说说它是两种情况,你为真就是一个类似,这个为假的时候类似就是这个,但前面这个类你都得有。明白我啥意思吗?说这个个。嗯。我忘了那个方法叫什么了,来打开咱们那个那个GS之前给大家发的那个几本手册,大家都有吧。的手册,不管哪个版本,找一个就行啊,找一个就行,然后相关的类的属性操作。啊,A class class。啊,这个列名如果存在。就要删除,如果不存在,就添加切换的类名,是否包含这个类,那也不行啊,那我也不能给你切换。
24:01
我就是给你或者是添加一个A点这个。设置两个属性,那就这么,那就是重新复制了ad,对重新复制设置它的那个叫那个属性名是class class属性的类是这两个复制。空格这么写,写就只能是这样写。对对。回家的时候,然后把它取消掉。然后然后刚才那个,哎呀放到这还不行是吧?A。来我这里边换成井号啊,换成井号的。Alert。看到操作了啊,就是判断一下,给它换一个类而已,然后这个元素不能搁到这了,CTRLX给它放到。
25:01
分类管理,我看一下放哪里放哪里,放到这个位置什么放到分类管里,这个里面分类管理这个里面放到。放到这个里里头吧,放到这个位置置看一下好不好使啊,就其他页面也要用吧,你要别的页面也要用,那你就扔里头呗。你别的页面如果要用,你就扔里头。但是这样不行啊,这样它那个直接就什么了,直对直接就弹出来,而且呢,它改变了这个元素的那个大小是吧,所以我这个位置呢,给他设置一个样式,在这里写行的样式到等一那个叫up的。它相对负极定位就行了,然后它的套等于0X,然后。等于0PX让它不占位位,明白了吧,不让占位位。刷新。嗯,然后再往旁边移动一下。赖50不够,够200吧,刷新大概这个位置可以吧,稍微往上一点就是负的。
26:06
50不到50,看一下刷新。可以吧,大概这的啊好长度其实我们不用管它,不用管它长度好,但是它一开始也是隐藏的吧,所以这个地方呢,是那个叫第play。对吧,然后等到我们调用的时候,它才显示来刷新没有了吧,好点击删除。颜色不。而且字体怎么就那什么了呢,这个字这个字怎么回事,看在哪里,给他一个宽度,我感觉它的宽度不够刷新你看一下啊,等下不管颜色宽度好像总总差这么两个是吧。我操,说成一行了,怎么回事?嗯,百度搜一下。然后我们现在那个颜色还不对,颜色不对呢,是因为我们在传的时候并没有传醋和放对吧,掉的时候候对吧?啊这里边,所以这个地方啊,来message第一次如果成功去调这个,如果失败呢去调啊。
27:18
对吧,是传两个参数来一个不传就是住嘛嘛,传了就就放对吧,嗯。好,你看一下,嗯,先看一下样式啊,刷新点击删除。ATT。再走对吧,颜色对了吧,颜色对了找到了,现在是设置叫设置文本不换行是吗?是有这么个东西吗。
28:00
强制同一行内显示所有文本。看一下它的参数什么意思啊。啊,默认处理和强制在同一行显示所有文本,啊,复制一下放到这个元素的上面,这个位置样式控制在哪在这。删掉一个,后边加个。找个浩。可以了吧。这个对吗?这个对对对啊,好了好了,测试一下啊。刷新点击。行,就这么地吧,就这么地吧,不调了调了不烦死了,来这个点击删除,哎。颜色不对吧,怎么没变绿呢?哦,我知道了,是你把它改过去,并没有改回来,哎呀,我的个天。还得再改回来,嗯,好吧好吧。复制一下了,上了上了。
29:06
忘了你改回去还是改回来,因为你们页面没有刷新嘛,对吧,来看这个位置,比如说删它是红色的对吧,然后删这个。没想上。Success。又他妈哪里报错了,我靠。不说好的,挺简单的吗?本来逻辑也很简单,怎么谈都不谈啊。SOMRAPP。我他妈传错了吗?传错错message消息给你,然后把醋传进去,刷新在山洞没了个屁了了。来添加一个。新增那个,新增一个顶级。
30:04
来位置点击删除。删除删除删除删除。传过去了,刷新一下。谈都不谈。Message掉了呀,掉方法呀,怎么没。Type是关键字吗?不是呀。找到井号那个元素给他增加一个给他那个叫设置一个属性。好像就感觉是这个属性这个位置出了问题,想想去找那个元素啊。费劲,就这个个。这个这个。井号A好了等元素点击删除。
31:01
元素样式,这不是也改了吗?但是怎么没显示呀,显示了吗?诶哦,显示了,刚才怎么没显示。点击这个删除。为什么不对啊,颜色。它为什么是格的type,看这里。啊。如果为传的,是真进来的。这个元素的样式。Success。如,如果是甲。改成这个有错吗?我感觉好像没有错误呀。再点一次点击。嗯,先把那个电器先给它关掉掉,电器先不用好吧,好吧,电先关掉吧,不用了啊。
32:02
来点击删除。怎么这个钉子没有发生变化的话。传过来。传过来是false,判断真还是假,如果是真是这个,假是这个。如果是真走这个呀,怎么没走啊。嗯。有什么问题,哎呀,看一下我换那个叫换那个换一个方法吧。Eight class。一个或多个要添加到元素中的类名,你用空格分开,好,那就用这个方法。何必越添加越多呢?原来的删掉。
33:02
At t括号C等于空,空。空的怎么能不对呢呢。杀杀杀杀。有显示了。但是没有设置成功。什么意思?Ible。还有吗?没有了吧,好了添加两个再看看,好进来以后啊,把这个把上面的删除红色对吧,然后把这个把它关掉。点这个删除。诶,怎么还是红色,我的个妈呀,我调不了他了。见鬼了,这玩意儿我勒个去邪门了。哎,在哪呢,那个元素,哎怎么变成怎么变颜色了呢。怎么都走到这儿了呢?我就纳闷了。
34:03
为真不应该走上边吗?三重中怎么传了个S进来看一下,看一下这个,嗯,哪个方法来啊,这个方法我靠靠连续掉了两次,我说能。少了个20。看一下删这个删不掉对吧,删他对了吗?哎哟,我的妈。就是这里错,这里就是说你先你不管怎么样,你掉了一次,然后又掉了一次嘛,结果第二次是bos,就这一点区别,别的没了。好了好了。行了,这个内容就写这么多吧,可以吧,啊,然后这个电容器到时候你可以起来,然后把它隐藏掉,然后还有就是还有就是它的样式,你可以自己再调,我就不管了,可以吧,兄弟们。哎呀,费劲了,我天来来正儿八经添加两个数据吧吧,嗯,刚才原来添加的那个叫叫我们添加添加点别的吧。
35:05
别的那个里边有什么小说,文艺童书是吧?嗯,来写几个列小说提交。然后添加,然后叫什么文艺是吧,诶对对。在这里文艺,然后还有什么历史什么好了,然后再去增加一些小说,下边有什么现代。现代。小说,还有什么都市玄幻,玄幻小说来文艺的整俩来,文学理论、纪实,财经、艺术,然后还有历史相关的,得添加一个。历史,历史里边有什么?历史这里好好。中国史、世界史。中国历史。
36:05
那个叫国际世界啊,世界历史行了行,添加这么几个点可以吧,剩下的我就不写了啊对,简单添加几个例子行了好了,呃,然后这个分类的添加啊,不那个叫删除,就写这么多行吧,就中间那个叫什么。中间处理这个耽误点时间,要不然的话做个删除很简单对吧,后边一判断,前边发一个请求过去就完事了,嗯,行了,嗯,那这里这个内容就到这里吧,好吧。
我来说两句