版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
口令:RAPID708第11章Web应用学习目标了解Web相关基础理论知识。熟悉WSGI接口的使用。掌握Flask框架的使用。掌握MVC模式的使用。Web基础Web应用开发中,服务器将网页数据信息(HTML代码)传送给浏览器,浏览器进行显示,浏览器和服务器之间传输协议是HTTP。HTML就是网页,网页中不但包含文字、图片、视频、Flash小游戏,还有复杂的排版、动画效果等,所以HTML定义一套语法规则,告诉浏览器如何把丰富多彩的页面显示出来。HTML编写网页<html><head><title>Hello</title></head><body><h1>Hello,Python!</h1></body></html>Web基础CSS是CascadingStyleSheets(层叠样式表)的简称,CSS控制HTML里的所有元素如何展现,将代码CORE1101修改。<html><head><title>Hello</title><style>h1{color:#333333;font-size:40px;text-shadow:3px3px3px#666666;}</style></head><body><h1>Hello,Python!</h1>Web基础JavaScript作用是让HTML具有交互性而作为脚本语言添加的,JavaScript既可以内嵌到HTML中,也可以从外部链接到HTML中。<html><head><title>Hello</title><style>h1{color:#333333;font-size:40px;text-shadow:3px3px3px#666666;}</style><script>functionchange(){document.getElementsByTagName('h1')[0].style.color='#ff0000';}</script></head><body><h1onclick="change()">Hello,Python!</h1></body></html>WSGI接口为了方便操作,事先将HTML文件保存,然后用搭建的HTTP服务器接收请求,从文件中读取HTML发送给浏览器,这些都属于静态服务器。如果想动态生成HTML,上述步骤都需要手动操作完成。例如,接收、解析HTTP请求、发送HTTP数据等,这些都相当繁琐的操作。所以PythonWeb开发的方便之处在于不需要进行底层的配置,使用统一的WSGI接口就可以进行Web开发。WSGI:WebServerGatewayInterface。WSGI接口使用“start_response()”函数便可以响应HTTP请求。defapplication(environ,start_response):start_response('200OK',[('Content-Type','text/html')])return[b'<h1>Hello,Python!</h1>']WSGI接口函数WSGI接口WSGI服务器fromwsgiref.simple_serverimportmake_server#创建一个服务器,IP地址为空,端口是9000,处理函数是applicationhttpd=make_server('',9000,application)print('ServingHTTPonport9000...')#开始监听HTTP请求httpd.serve_forever()Flask框架WSGI是针对每个HTTP请求进行响应,处理较为复杂的Web应用程序,仅用WSGI函数处理太底层了,所以需要在WSGI上再抽象出Web框架,进一步简化Web开发。fromflaskimportFlaskfromflaskimportrequestapp=Flask(__name__)@app.route('/',methods=['GET','POST'])defhome(): #首页return'<h1>测试主页</h1>'@app.route('/signin',methods=['GET'])defsignin_form(): #登录页return'''<formaction="/signin"method="post"><p><inputname="username"></p><p><inputname="password"type="password"></p><p><buttontype="submit">SignIn</button></p></form>'''@app.route('/signin',methods=['POST'])defsignin(): #处理登录表单#需要从request对象读取表单内容:ifrequest.form['username']=='admin'andrequest.form['password']=='admin':return'<h3>输入正确!</h3>'return'<h3>输入错误!</h3>'if__name__=='__main__':app.run()MVC模式MVC(Model-View-Controller):也就是“模型-视图-控制器”。Model用来传给View,View在替换变量时,可以从Model中获取相应的数据。包含变量{{name}}的模板就是V(View),View负责显示逻辑,通过替换变量,View最终输出的就是看到的HTML。Python处理URL的函数就是C(Controller),Controller负责业务逻辑,例如,检查用户名是否存在,取出用户信息等。使用MVC模式,需要预先建立HTML文档,该文档嵌入了变量和指令,传入数据后,进行替换得到最终的HTML,将其发送给用户。MVC模式fromflaskimportFlask,request,render_templateapp=Flask(__name__)@app.route('/',methods=['GET','POST'])defhome():#首页returnrender_template('home.html')@app.route('/signin',methods=['GET'])defsignin_form():#登录页returnrender_template('form.html')@app.route('/signin',methods=['POST'])defsignin():#处理登录表单username=request.form['username']password=request.form['password']ifusername=='admin'andpassword=='password':returnrender_template('signin-ok.html',username=username)returnrender_template('form.html',message='Badusernameorpassword',username=username)if__name__=='__main__':app.run()MVC模式编写网页MVC模式首页代码<html><head><title>Home</title></head><body><h1style="font-style:italic">Home</h1></body></html>MVC模式登陆页代码<html><head><title>PleaseSignIn</title></head><body>{%ifmessage%}<pstyle="color:red">{{message}}</p>{%endif%}<formaction="/signin"method="post"><legend>Pleasesignin:</legend><p><inputname="username"placeholder="Username"value="{{username}}"></p><p><inputname="password"placeholder="Password"type="password"></p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州市工业园区重点中学2026届初三年级第二学期化学试题周练一(含附加题)含解析
- 2026届浙江杭州上城区七校联考初三第五次联考生物试题含解析
- 浙江省嘉兴市海宁市许巷重点名校2026年下学期高17级一部初三生物试题一模模拟(四)试题含解析
- 2026届辽宁省抚顺市初三下学期第三次诊断性考试化学试题含解析
- 2026年多机协同任务调度路径规划交接规则班组稳定运行技术
- 2026年高质量并购操作指南:获取核心要素 抢占发展先机
- 2026年区域性国资国企综合改革试验第二批试点申报材料
- 网络通讯产品实验场运营规划建议
- 关于社保审查相关的问题和解答指南
- 企业战略项目管理经验与答辩技巧
- 肿瘤终末期患者生活质量评估与提升方案
- 2026年湖南网络工程职业学院单招(计算机)测试模拟题库附答案
- 五色抹布使用制度规范
- 工贸企业重大事故隐患判定标准解读
- 化州介绍教学课件
- 2026年苏州信息职业技术学院高职单招职业适应性考试参考题库及答案详解
- 药店课件教学课件
- 水族造景概述课件讲解
- 人教版八年级下册地理上课教案第六章 中国的地理差异
- 《危险化学品安全法》全文学习课件
- 2026年湖南大众传媒职业技术学院单招职业技能测试必刷测试卷及答案1套
评论
0/150
提交评论