大家好,呃,今天来给大家讲解拍摄 word 编程的第三集内容,用 plus 的路由和试图函数。 那么首先的话,在讲这个之前啊,我们还是了解一下这个基础的一个知识,就是我们这个 word 系统的这个 b s 架构,那么这个 b s 架构的话,实际上就是有浏览器和服务端,那么这么样形成交互的一种架构。那么在浏览器和服务端 来进行交互的过程中呢,就会涉及到比如说于 r l 的一些请求,请求然后到了服务单,服务单之后根据这个请求可能会返回一些数据啊,或者是我们想 啊在浏览器上展示的一些内容,这个整个的一个过程的话,就是啊 b s 的这个架构的一个模式,那么在这个模式之下呢,那么拍摄也提供了一个 flax 的这么样的一个组件或者是一个框架,那么很好的来解决了这个浏览器和服务端,这个中间 变了一个交互。那么我们今天的内容呢,就是这个路由和试图函数啊,这个是弗兰斯里面的一个比较基本的,也是比较重要的一个功能。那么这个呢,主要就是解决我们这个啊,这个来回的一个交互,比如 url 里面参数怎么传递, ur 气球发出之后,服务单怎么去做出响应, 这个就是我们今天要了解的一个主要内容,那么下面我们还是通过代码来进行啊,实际的这个讲解, 那么首先的话,我们是需要去导入 plus plus 这个模块啊,这个在上一节的过程中其实也跟大家去讲了, 那么有了这个 flas 之后呢,首先我们会去啊对它进行一个初始化,初始化之后呢,你会有对面的一个魅影的一个入口,然后呢确保我们的这个 flas 应用能够运行起来啊,那么首先呢,我们来讲一下这个路由啊,这个就是简单的一个路由,就是 这个入册的这个关键字,和我们其他项目编程的比如加号也也比较类似啊,就是通过这个呃,这个入册这个路由的这个方式,那么这个是斜杠是什么意思呢?就是我们的 url 路径里面呢,可以理解为路径上的那个斜杠, 那么这个路由比如对应了之后就会有一个四轮函数,这个 home 这个四轮函数,那么这个要干嘛呢?这个就是啊来显示这个主页的,那么同时我们又定位定义了另外一个路由啊,也可以理解为另外一个 url 的一个路径,比如说 arbot 啊,那么这个呢,就是 啊关于的一个网页。我们第三个的话呢,就是我们的除了这个啊定义的一个路由 url 之外啊,那么我们可以看到这个 url 后面有一个动态的一个参数, 那么这个动态的参数呢,是用这个间括号把它扩起来的,里面有 use the name 这个参数,那也就是说我们在这个 urns l 里面可以对这个 use use the name 进行动态的一个复制啊, 复制之后呢,然后我们这个速度函数要干嘛呢?就是我们能够将我们复制的这个内容给它显示出来,那么好下面我们来运行一下,运行一下这个呃程序,来看一下这个实际的一个效果 啊,那么点运行之后啊,其实一样的,我们会看到这么样的一个地址,那么这个地址啊,同时有一个段子号,那么这个就是我们 啊这个需要去访问的一个地址,比如说我现在如果是默认这个地址,那么大家可以想想啊,我们走的是哪个这个视图函数啊,因为我们这后面是没有带任何内容的,那么应该走的是这一集啊,就是就这么样的一个斜杠啊,应该显示出来的应该就是这个主页啊,看一下 这是主页,这是和我们这个内容是相对应的。好,我们来看一下这个关于这个页,他是不是 啊?这是关于网页。好,我们来看第三个啊,这个里面是有一个动态参数的,是一个动态参数, 那么这里面输个 u 的 name, 假设,我就说测试用户啊,这边写个测试用户,我们看下效果啊。 hello, 测试用户,这是你的个人信息页面,我们看看啊,这个是我们这个视图内容返回的一个内容啊,那么这个就是我们 plus 这个简单的这个路由和视图函数的一个应用,实际上也就是我们一个简单的这个 页面,浏览器上面的页面和我们具体这个后端服务来进行了一个交互的这么样的一个功能啊,这是一个简单的呃,这么样的一个功能,那么近后面的话就是我们会也会跟大家去讲解这个具体的 啊,涉及到我们真正的沃尔系统开发里面,那么这一块呢,更复杂的一些功能应该怎么去实现好?今天的内容呢?就到这里,如果对大家有帮助了,希望大家点个关注,后面会有更多精彩的内容呢,给大家分享。
粉丝39获赞84

大家好,今天我们来看 flask 里边使用 cs 来实现用户登录的基本功能,那目前准备好一个静态的 htm ml 页面的模板,就是目前看到的这个效果,他这个纯粹的静态页面, 我们看一下所包含的资源, log in 的 htm 就是刚才看到的页面,而其他的几个文件夹呢,是包含的一些静态的所需要的一些资源。那这里边我们创建一个新的 flask 站点,那我们使用一个空的文件夹叫 log in, 然后呢我们使用它作为我们 flask 拍成项目的根,我们使用 code vs code 来打开,打开之后呢,就是目前看到一个空的项目,首先我们激活一个拍一层的蓄力隔离环境,然后接下来 我们首用 p 普音斯 door 安装 flask 框架,好,安装成功。然后接下来呢,我们准备一下 flask 站点的基本结构,我们创建一个 static 目录,用来装一些静态的资源。 templates 目用来装 htm 的模板,而我们的 app 呢,把它放到一个 app 点派的一个脚本里。 好,那我们设置一下 vs 科的使用的解释器,那就是我们刚才看到的 c 盘的一区尼格里环境,我们找到他下边的拍层点 exe 作为我们的解释器,运行我们当前的项目。 好,那环境准备好了,那目录也准备好了,接下来呢,我们把刚才看到的静态的一些资源把它复制过来,把 htm 的页面呢放到 templates 目录一下。而刚才看到的其他的所需要的一些静态资源呢,放到 static 目录一下。 啊,这是默认情况下 philas 个站点那所需要的基本结构。好,那这样我们把原始的站点资源和模板呢,分别放到了 templates 和 static 目录一下,接下来我们就按照 plus 个的一些基本结构来把我们的站点跑起来。 那首先呢,我们从 flask 包下边导入一个核心类 flask, 用它来构造我们 w k 型 app 的实力。然后接下来导入一些常见的组件, request, render, template, redirect, u r, four session 以及全剧的对象记。 首先我们构造啊不离 k 型的实力 app 对象,他直接使用大小 f 开头的 flask 去构造的,他刚刚内幕呢,指的是当前我们这个文件所在的位置,就是我们的项目的根。然后 使用 app 的 row 的函数装饰器去构造一个地址叫 log indo, 当我们请求这个地址的时候就 get 方法,请求的时候呢,呈现刚才的 log in 点 h t m l。 在跑起来之前呢,我们设置一下我们的 plus 的环境为 development, 这样的话呢,它自动给我们启动调试,并且有修改的时候,自动重新加载 development 的方式来运行。 第八个模式为哦好打开本机的五千这个端口。刚才看的是静态页面,现在我们访问一下地址是罗宾, 我们看到的页面已经呈现了,但是没有样式,没有图片。原因是在于我们在呈现的时候,他默认情况下,他资源转移到 static 目录下。好,尽管那些资源都有,但是默认情况下我们看到页面地址里边呢,他都是直接 是相对的目录,比如说 css 或者是 window 或者 email, 那前面应该加个斜杠,表示从跟目录下开始,那这个时候有很多种方法,我们在 flask 构造的时候,指定个参数, static ufo pass, 加上一个斜杠,那这样一来的话重新再刷新看一下。 好,那这次没有问题,页面已经正确的加载出来了,请接着我们创建一个个人资料页,就是当我们登录成功之后呢,就转跳了一个 pose file 的这个页面。 好,创建一个新的页面,这个不是我们准备好模板里边的,所以说我们简单的使用一个基本的结构呈现一下,把标题改成叫个人资料。 这里边如果登录成功的话,你就显示一下当前登录用户的一些基本信息,比如说他的一些姓名啊,或者其他的个人资料信息。好,那目前呢我们就显示一个姓名和用户的编号。那如果说 登录完成之后呢,他想退出的话,我们给个链接叫退出。登录好,那这个页面是登录成功之后转跳过来的,那我们给他准备好一个路由,那规划一个地址叫 gom perfect。 好,这个地址的页面呢,是通过登录验证用户登录成功之后转跳过来的。好,目前呢先不处理登录逻辑,先给他呈现一个页面,跟我们的 profile 地址对应起来,我们看一下,当我们访问的杠 profile 的时候,就显示刚才我们刚刚创建的这个页面内容。 接下来我们准备用户登录,就登录用户的一些信息。那正常情况下我们可以使用很多种方式,比如说文件呐,或者是数据库的方式来存储我们的用户,那这里边我们重点呢是讲 电路,所以说用户这一块我们就不创建数据库了,我们在内存里边装一些用户的实力,那这里边我们使用拍摄新版给我们推出的叫滴滴 class 声明的数据类。 好,那这里边呢?比如说贾定定义好用户类,那我们使用 dele class 来声明装饰一下, 然后我们定义好一个类叫的 user。 好,就是说我们的用户呢,包含这么几个字段,一个是 id 是 inter 型的,然后接下来包含的有用户名, username, string 型的,以及用户的密码 password string 型的。 好,它只是一个类型,那真实的数据呢?是通过它构造的实力,那这里边比如假定我们构造一个小的数据库,我们直接存在列表里边吧。比如说一列表包含一个用户的信息, id 是一用户名叫 ideme, 它的密码 是一二三四五六,然后他复制两条,那分别改一下他的 id 和用户名和密码信息。好,有三条用户在内存里边,然后接下来登录的时候呢,我们就从刚才的列表里边去找匹配的用户。 在我们处理登录逻辑之前呢,我们到个人资料页里边做一个处理,我们通过全球对相机去判断他有没有属性比较优秀着,那如果没有的话呢,证明你没有登录成功,那我们就跳走,跳到登录的那个十六函数做对应的终极点里边去。 好,那这个 g 点优势呢?就是说我们稍后呢会负这么一个属性到全职对象 globe g 这个对象里边去, 而他又是什么时机放进去的吗?这里边我们使用 app 有一个装饰器叫 before request, 就是在每一个请求之前做一个操作好,由于他是直接 注册在 app 对象上的,所以说每个时候函数都会调用它,那这里边我们写上一个 before request 函数,那我们这里边手动写死,比如说记忆的 user 等于空,注意下啊,目前是等于空,而我们下边的判断是,如果说没有就等于空的时候,我们跳走, 所以这个时候呢,你就说你就是默认情况下是没有办法浏览刚才的 profile 的,一进去就跳踢出来,一进去就踢出来,踢到我们的登录页 好,接下来的话就是处理登录逻辑,就当你输入正确的账号和密码和我们刚才列表里边的用户匹配上的时候,我们再给他重新附上一个真实有效的一个值。 好在我们的 login 是读函数里边儿, milo 字里边儿,我们加上一个声明,指定它既支持 get 也支持 post, 因为默认情况下它只有一个 get 好,刚才的返回模板的时候呢,其实默认 get 请求现在做一个判断,如果在前台用户点了提交,就是他的 maze 的是等于 pose 的话,就我们处理登录操作。 那这个方法要和前台对应起来的话呢,我们要做一个工作,找到刚才前台 look in 的模板,找到刚才的 form 标签, form 标签里边我们加上一个属性叫 messed up, 等于 post, 那就对应起来,就是当我们点的按钮的时候,就是 post 提交提交的位置,当前这个是图,你可以写个点或者写个井号都可以。 好,那这样一来的话呢,稍后呢,他会将我们填写的用户名和密码传递到后台里边来。就如果他点的提交的确是 pose 的话,我们把 c 形对象绘画状态里边一个键叫的 ucid 的,把它弹出去就清空掉。好,这个呢等于说 还没有复职,但是每一次登录之前呢,我们要做这么一个清空的操作。好,接下来就是当我们点了提交的时候,我们通过 request form 里边去找一个 user name 的和密码的。 好,那这个 user lame 来自于什么地方呢?就是前台表达里边儿 lame 等于 user lame 和 password 这两个 in port 的啊,输入元素 好,如果说没找到的话,我们就给他附近默认指示空,然后就是 us name 和 password, 那在前台表单里边输入完毕之后,在后台去获取, 那获取之后呢,我们要比对一下跟我们数据库是不是一致,而我们的数据库呢,就刚才的优测是这个列表,那我们就在里边做一个过滤,我们用使用列表推导说在刚才的列表里边去做一个推导,便利一下每个用户,如果他的用户名是等于刚才在 用户前台文本框里输入的用户名匹配的话,那这样的话呢,就是这个列表里边就过滤出来一个结果,注意他的类型还是一个列表,还是个 list。 好,那到底有没有就是找到一个用户名跟我们刚才在 uss 列表里边是不是匹配的呢?你看一下他的长度,如果说他的确是大于零的话啊,就是列表他返回的结果有值的话,那证明是有。 那好,接下来我们再做一个过滤,就是把刚才的呃用户列表里面的第一个给找出来。 好,这是临时使用,那真实的项目应该使用数据库来做。那好,就是如果说找到有这个用户,并且他的密码是跟前台用户的密码是匹配的话,那我们就假定这个用户是登录成功的。 所以接下来做一个事情就非常重要的,就是 c 型对象绘画状态加一个键等于 u c d 的,它的值就等于当前用户的 id, 这样就把用户的标识 id 呢存到了 c s t 里边,它这个 c c 是个绘画状态, 那默认情况下呢,他是在福气端不同的请求里边可以共享的这么一个信息,但他本质呢,还是通过 gucci 来传递的 好。那这样的话呢,我们就是如果 c 型绘画状态里面创建成功的话,我们就假定登录成功的,我们就转跳到刚才的 profile, 那中间点十度函数是对应的那个页面里边去 好,也就是说当我们跳到 pore fail 的时候呢, profile 里边请求之前呢,又从那个 sexy 里边去找 id, 又获取了优 sir 刚才讲的 be furry 筷子里边 填写的功能,我们来试一下。好,当我们请求了罗给你的时候,拿输入一个错误的账号号密码, 这次呢,注意,他抛出了一个错误,说 cs 没法使用,原因是什么呢?如果你想使用的话,得在我们的啊不离 k 型对象上设置一个 security k 的安全码的这么一字不串, 他是便于嗯, cc 和 c 加密保护的这个功能,只要你用 cc, 我们就得在 app 里边设置这么一个键, 好,通过 config 设置一个叫 secret k 的这么一个属性配置,这里面填什么?就填一个字,不串。这个字不串呢,是应该是 安全前强度比较高的,不能够让别人轻易猜到的,怎么就走不出来?好,那现在呢,就是说 c 型啊,设置所需要的一些条件都已经具备了, 接下来我们再来测试一下。好,我们重新请求一下了,给大家输入一个错误的账号和密码,那这里边没有反应,因为我们并没有处理说账号密码不匹配的情况,所以说呢,他并没有转跳 好,接下来我们输入个正确的信息,说正确的信息啊,用户名是阿德密,刚才我们在 uss 列表里边设置的好,点一下登录,那为什么还是呃跳不过来呢?我们看一下问题在什么地方, 刚才我们把用户的 id 放到那个 sexy 里边没有问题,但是我们在个人资料页找的却是全职对象 g 的 us, g 的 us 刚才写死了,他永远为空,那所以这里边要做一个处理,就是说 当我们在请求之前每一个请求处理的时候,先判断一下 cc 里边有没有一个叫 usid 的 一个键,如果有的话,那我们到数据库里边去找到当前用户 id 的那个用户,然后呢,用它 得到的真实的这个用户去替换刚才我们设置为空的 g 的 u sir, 好,那这个设置的方法呢?跟刚才是一样,就到刚才的列表里边去做过滤,实际项目里边应该到项目数据库里边去做,去查询,做比对,然后再复制 好,现在我们在这里找到 ustra 交给我们的 g 点 usa, 所以记的 usus 是一个类的实力,而 cst 的 usid 呢,只是一个数字的 k, 那我们重新输入 andme, 密码是一二三四五六点一下登录, 那这一次呢,我们就转跳到 profile, 就这页面可以进来了,他没有被踢出去,但是我们要显示一些信息,比如 欢迎某某某,以及他的用户编号是什么。那这一次呢,由于我们的用户已经在 gdus 里边了,我们直接可以写去找到这个类型的 username 这个属性,那用户的编号是还是来自于记点 ucer 点 id 这个字段?好,我们再上新一下, 但是我们发现还没有出来,我们看一下逻辑问题出在哪?好刷新,他并没有出来的时候,我们找到刚才复职,其实刚才在过滤的时候,他得到的是一个列表,应该把他的第一个元素找出来, 而他传递的是真实一个用户,而不是一个区别,那这样可以了得到。刚才登录成功的是 idemy, 他的编号是一,然后我们重新登录第二个用户,输入 logo 音之后呢,我们输入一个用户名叫一森的密码,是六个,八点一下登录, 那之后呢,看到用户名和刚才的编号都已经显示为最新的正确的信息。好,这个案例的功能已经实现了,比较简单,比较基本。那我们使用的是绘画状态里边的核心对象 cs 这些黑化状态呢,是每一个外表开发呃语言或者框架里边一个核心的对象。它的基本原理就是服气端内存共享的每个请求之间共享的呃一段信息,但它的本质上的存储呢,还是得依靠我们的库克来帮我们实现。 当然在正式的一些商人项目里边呢,那关于处理用户登录呢,可能逻辑比较复杂一些,我们可能会借助一些呃数据库啊,或者其他的一些存储来存储用户的标识,或者是其他的一些处理逻辑,比如说 flats, logan 等等一些扩展来帮我们实现 啊,在我们的正式的 vip 课程里边呢,也会有深入的一些讲解。另外刚才我要想第二次登录的时候,是手动输入 log in 的地址,重新再输入账号号密码的,其实刚才我们在个人资料页里边准备的好的有一个链接叫做退出登录, 那其实我们也可以实现点一下那个退出登录,那啊自动给我们转跳到我们的 登录页,并且清空掉以前登录的标识。那这个在我给大家提供的圆码里边呢?这个有实现 实现一个用户的登录登出呢,是当我们学习任何一个微博开发框架里边一个基本的里存杯,那这个圆码呢?给大家提供下载,大家关注我的公众号优特编程,注意下这公众微信公众号, 在里边回复关键字 looking, 就可以下载给大家准备好的这个圆码,以及我们提供的前端的登录界面的模板资源。

一分钟学会一个盘子之前,今天我们来介绍一个小而美的外部开关框架, plus 框架,据说呢,它是一个愚人节的笑话。在愚人节当天,作者将一些最常用的第三方模块,比如说 orzerg 专家兔进行了一个打包,最终就形成了一个 plus 框架的前身, 那他应该怎么用啊?上代王在零基础入门动画课中,我们就使用了 flas 框架,开发了一个仿照网民课堂这样的项目。那么在学习 flas 框架时,我们需要抓住 mvc 这条主线, m 就对应着模型, 我们通常使用的是 rm 方式,将数据库中的表和这里的面相对象的类相互对应起来,然后通过操作类对象的方式来实现数据的增删改查。 v 呢,就是对应着视图,比如说我们这里的首页,那么它对应的就是 index 这个文件, 这也就是 html 文件。 c 呢,就是控制器,在这个控制器中,我们会根据路由进行匹配,比如说路由中匹配到杠,也就是访问首页,它会自动去执行这里的音带传数,然后通过 om 的方式,也就是 m 去这里查找数据。 获取到对应数据以后,接下来我们去渲染模板,这里的模板就是咱们刚才提到的视图文件,然后把我们获取到的数据传递过去,这就是一个 mac 的模式。更多 plus 内容请参照大型课堂零基础入门动画课。

这一节呢,我们来写一个实力,用户登录的实力就是这么一个窗口,大家肯定都见过这种形式,我们上一节就留了这个作业,现在呢我来完整的来写一下它的界面的写法和代码的逻辑。 好,我们从上一节的这个基础开始,上一节你没有听也不要紧,这个界面呢非常的简单啊,我们先运啊,先把这个 这个内容复制到我们的新的文件中,我们在这个基础上进行修改啊,我先来运行一下,大家对照一下,我们也来回顾一下 他的界面呢,有三行布局,每一行呢,这个第一行是一个文本和速度框,第二行也是,首先呢,大家已经看到了,我们需要修改一下,就是他默 任的这个竖框太长了啊,这一点怎么改呢?这个竖框他有一个参数叫做大小,我们利用这个大小来改 啊,这个大小呢啊,他的啊,这有一个提示,他的写法呢是一个圆组,这里面虽然有两个数字, 我现在写一个十和逗号一,这两个数字什么意思呢?第一个数字代表宽度,第二个数字代表高度,不过呢这个数框它实际上是一个单行数框。第二个数字呢,你输入二三,实际上还是一行 啊,但是他保留了这种形式,因为这个大小,这个参数在其他的参其他的组件中也比较常用,在其他组件中有用途,所以我们他保留了这种形式。总而言之呢,第二 这个数我们写为一,第一个数呢,你就写一下,你想打几个字,所以这个十呢,这个宽度上是字符数,有几个数你就写一个几,现在我们啊我先来运行一下,大家看一下效果吧。 啊,在这我们还我还没有关掉它导致的,现在我先啊啊行,现在运行了,虽然我没有关掉,但是他点了他就弹出来,大家看一看,这一行呢就比较短了, 他这个十呢,实际上是英文的,呃,字符数是五六七八九 九零,不是中文的,大家注意这一点啊,它是英文的,如果你要是显示中文的呢,这个 他反而显示不开中文的,我们只能用啊,这个中国人民 啊,你看你要是显示中文,只能显示五个字符,所以说大家注意这个他是字符数啊,一个中文字符呢要占两个,所以呢根据自己的情况啊来决定这写几 啊。我们一般写一个最大容纳的,并不是说这个姓名有三个字,你就用三个字,你可以用啊,更宽一些,好看一点,好,来根据自己的需求吧。现在我们刚才看到密码太长,我们把密码也复制过来 啊,这样就对齐了。这个于二二,这个啊,这个用户名单,我们输一个字符啊,这个密码呢,要知道啊,输入一般用新号 表示,但这样呢,他还是普通的输入框,所以说我们还需要再修改一下,他还有一个密码相关的参数,我们写一个逗号,在这里面就可以找到。你看有一个密码字符,我们就使用这个密码字符, 密码制服他默认的,你看是一个制服串,他默认是空,就说默认的,就说你要是这样默认的话啊,输了之后呢就看不出来啊,我们常用的习惯是输一个星号, 输一个就行,这个他有几个字符就会变成几个型号来看啊,我按了多个键就这样显示, 当然呢如果你的需求是让用户能输密码,可以设定的八个字符,那这样就可以写成啊八等等,但是呢我们最好写一样,这样他们就能够自动对齐了, 好界面呢,我想做到这应该就差不多了啊,我们也指定了键键呢,就可以引用他的这个词啊,怎么引用呢?我们之前已经写好了,上一句已经写好了一个打印,这呢大家也看到了,你看 这个值呢是一个字典,我们现在呢既然要处理一下,让这个驯护名和密码啊正确的时候,我们呢我建议大家呢啊可以写到这,你可以继续在这写这个逻辑 啊,也可以用一个函数啊写到外面去啊,有时候我们这个逻辑可能非常的长, 所以说我们现在就使就使用一般的习惯啊,把它写到外面去啊,现在我们先把这一行注视掉, 我准备写一个函数,这个函数就叫做验证用户吧啊,把这个什么参数传给他呢,就把我们这个整个的值传给他, 然后呢这个函数我们得提前定义一下,在拍摄中呢,函数使用之前要定义,所以这个函数要写到前面去。好,我们在前面,一般来说呢,函数都写到最前面 这个定义函数,这个函数的名称我们直接复制过来, 这个函数的参数我们就叫它值吧,这样呢就不需要修改,看,现在呢我就直接把它拿过来用就可以了。 好,现在我们要验 证这个姓名的值和密码的值啊,是不是我们需要的用户名密码,我们就写一个条件语句,条件语句就写一个 f l 是吧? 啊,首先呢姓名啊,根据你的情况,我的这个,我是郭老师,我准备我的用户名叫做啊 g u o 这个 t 郭。 然后呢我们还需要密码啊,我设定一个简单的密码叫一二三吧。啊,我就需要这个值,等于一二三就要有两个等号, 一二三呢,我也加上引号,因为我们知道制服这个这种数框他接收的实际上是制服串,如果你这需要这个数字,那你还得转换一下,我这 直接用这个啊,如果啊用户名和密码符合的情况,我们做一个弹窗,现在给大家介绍一个弹窗,我们说这种窗口呢是复杂窗口,弹窗呢是一种简单窗口,这个库呢已经给我们提供了一个弹窗 啊,这种弹窗呢实际上就是那种非常简单的啊,警告框或者叫消息框在这里面呢啊,他还有很多其他功能,我们呢先忽略掉,我们就输入一个啊,内容输入一个支付券啊,就是,对了,欢迎登录吧,叫 啊,如果不对呢,就要这个,就提示一下这个用户名 姓,姓名和密码错误,请重新 好,这个注视的这一行我也删掉,这样代码应该差不多,我们试验一下可不可以。 好,现在我试试验一下,我输入拨密码呢,我先输一个一吧,先输一个错点确定就提示错误,请重新登啊,重新输入一二三。 好,现在就弹出了,欢迎登录,我们这个小例子呢就结束了,这呢应该是换重新输入啊,有一个网友呢想让我提供这个原代码啊,我呢实际上 不想提供这个,我觉得你要是学习拍摄的话,我建议大家应该是自己一行一行的把它给敲出来,如果你运行错误,你就暂停这个视频,对照一下到底是哪一个地方产生错误,这样呢,能锻炼大家的这个入门能力,如果你 复制粘贴,你会感觉学的很快,但是当你真正写代码的时候,你会发现你自己经常会出现各种各样的错误,到时候也不容易调试, 我建议大家在学习中呢,要慢慢的这个啊来,不要复制粘贴啊,自己一一个字一个字的把它给敲出来还是比较恰当的 啊。这就是今天内容啊,如果大家有问题的话,可以在视频中留言,在这个平台上评论区留言啊,我会在 下个视频中给大家解说。好,这就是我今天的内容啊,如果你喜欢中文拍摄,请从我的网站五二中文编程点 com 中下载啊,喜欢视频请别忘了点赞和关注,谢谢大家。

啊 啊。


passing, 外部变成使用 plus 的上场文件。上场文件有几个注意的地方,一是这个贴面部分放不需要添加一个属性的一个积碳就是忙最怕的放不得的 后端使用铝块形成废物词,废物时他返回一个字典,通过盖上我念名获取一个叫 fuceloe 定型,通过 fuceloe 定型的 ceo 方法可以保存到夫妻的或者指定位置。 这个 facebook 对象有几个属性的,就是那个文件里面的康婷斯浪子,康婷的浪子是康婷太婆,有类型的长度,保存文件的时候有,有时候文件人可以有一些安全,比如就是可以返回上级目录的,上级上级目录的 有时候文件零,有一些安全问题,可以使用这个方法叫 thankyouteen, 他会把比如这样的一个文件 文件路径返回一个 etc password, 把一个路径返回在一个安全的文件名 拍个例子, 创建一个费用。 from 放下蓝色的 pose i guess etc。 潘海坡叫马杰,胖子赵木迪,今年一个零库存。 嗨,废话,兄弟,给你个名字叫嘿姨 哥上山 上传 进入一个,创建一个文件, 倒入 plus, 有一个路由 tf 瘦 直接反复做一个 app, apple 蓝色的 黑吧, 通过 feels 这个废物用它 c 物保存, 保存距离用眼影 可以给他加上一个,继续安全的 表露一下, 保存到当前的路 吃冬天服务区布拉斯卡牛皮 可以了。 嗯,然后 这是一个放母,选择一个图片,点击上传返回, ok, 看看人质 没有包错,在这个当前没有剩下的一面,打开的一面, 这是刚才上传的那个图片, 也可以同时上传,都是你。嗯, 看一下上传多个文件怎么去写?这是一个文件,嗯。第二个文件幺二串串改一下后台的代码,这是货区 face 放小平台, 还有一,这个是一个圆组,第二个是粉丝团, 看一下放两个,再看这个图片, 这个上传这个图片,点击上传, ok。 看母老虎,一个两个图片,一个图片,两个图片,多个文件也能正常上传,嗯。