书签 分享 收藏 举报 版权申诉 / 84
上传文档赚钱

类型Python-Web编程-ppt课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2784693
  • 上传时间:2022-05-26
  • 格式:PPT
  • 页数:84
  • 大小:1.66MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Python-Web编程-ppt课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Python Web 编程 ppt 课件
    资源描述:

    1、Python Web编程编程清华大学计算机系清华大学计算机系第八讲第八讲Web工作原理工作原理WebWeb服务器向浏览器提供服务的过程:服务器向浏览器提供服务的过程: 用户提交请求用户提交请求:在浏览器中指定一个:在浏览器中指定一个URL(Uniform Resource Locator,统,统一资源定位器),浏览器便向该一资源定位器),浏览器便向该URL所指向的所指向的Web服务器发出请求。服务器发出请求。 服务器解析服务器解析:Web服务器(也称为服务器(也称为HTTP服务器)接到浏览器的请求后,把服务器)接到浏览器的请求后,把URL转换成页面所在服务器的文件路径名。转换成页面所在服务器的

    2、文件路径名。 服务器响应服务器响应:如果:如果URL指向的是普通的指向的是普通的HTML(Hypertext Markup Language,超文本标记语言)文档,超文本标记语言)文档,Web服务器直接把它传送给浏览器。服务器直接把它传送给浏览器。 客户端解析客户端解析:浏览器解析服务器的返回结果,显示给用户:浏览器解析服务器的返回结果,显示给用户2ppt课件静态页面和动态页面静态页面和动态页面 早期的早期的Web页面是页面是静态静态的,用的,用html代码书写。代码书写。 随着随着ASP和和java技术的发展产生了技术的发展产生了动态网页动态网页。 服务器可以服务器可以访问数据库访问数据库,

    3、存取服务器的有关资源。,存取服务器的有关资源。 动态网页的实现一般采用客户端编程和服务器端编程两种设动态网页的实现一般采用客户端编程和服务器端编程两种设计方法。计方法。 客户端编程客户端编程就是浏览器就是浏览器下载服务器的程序到本地下载服务器的程序到本地来执行相关来执行相关动态工作。动态工作。 服务端编程服务端编程就是将程序员编写的代码保存在服务器中。就是将程序员编写的代码保存在服务器中。代码代码在服务器端执行在服务器端执行,把数据(,把数据(HTML/XML等)传回浏览器。等)传回浏览器。3ppt课件静态页面静态页面 静态网页静态网页静态网页是标准的静态网页是标准的HTMLHTML文件文件,

    4、其文件,其文件扩展名扩展名是是.htm.htm或或.html.html,它可以包含,它可以包含HTMLHTML标记、标记、JavaJava小程小程序、序、客户端脚本客户端脚本以及以及客户端客户端ActiveXActiveX控件控件但不包含任何服务器端脚本但不包含任何服务器端脚本静态网页的静态网页的工作原理工作原理:用户提交请求用户提交请求服务器解析:服务器的查找文件路径名服务器解析:服务器的查找文件路径名服务器响应:服务器返回静态文件服务器响应:服务器返回静态文件客户端解析客户端解析4ppt课件动态页面动态页面 动态网页动态网页所谓动态网页,就是该网页文件含有服务器端脚本,所谓动态网页,就是该

    5、网页文件含有服务器端脚本,这种这种网页的后缀网页的后缀一般根据不同的程序设计语言来定一般根据不同的程序设计语言来定如如ASPASP文件的后缀为文件的后缀为.asp.aspJavaJava编程编程.jsp.jspPythonPython编程编程 .py.py动态网页的工作原理与静态网页有很大的不同。动态网页的工作原理与静态网页有很大的不同。用户提交请求用户提交请求服务器解析:服务器的查找文件路径名服务器解析:服务器的查找文件路径名服务器响应:服务器响应:服务器执行服务器语言服务器执行服务器语言,返回结果,返回结果客户端解析客户端解析 5ppt课件动态和静态页面区别动态和静态页面区别(Web浏览器

    6、)1.接受请求2.找到静态网页3.发送网页 (Web服务器)发送请求发回网页静态网页工作原理动态网页工作原理(Web浏览器)1.接受请求2.找到动态网页3.根据程序代码,生成静态网页4.发送网页 (Web服务器)发送请求发回网页6ppt课件客户端编程客户端编程轻载语言轻载语言HTMLHTML(Hypertext Markup LanguageHypertext Markup Language,超文本标,超文本标记语言)记语言)CSSCSS(Cascading Style SheetsCascading Style Sheets,层叠样式表单),层叠样式表单)脚本语言脚本语言JavaScript

    7、JavaScript、VBScriptVBScript。7ppt课件 HTML概述概述 Hyper Text Markup Language超文本标记语言,是一种超文本标记语言,是一种描述文档结构的标注语言。描述文档结构的标注语言。 “.html”或者或者“.htm”作为后缀作为后缀。 当用户浏览当用户浏览WWW上的信息时,上的信息时,浏览器会自动解释浏览器会自动解释这些标这些标记的含义,并按照一定的格式在屏幕上显示这些被标记的记的含义,并按照一定的格式在屏幕上显示这些被标记的文件。文件。 HTML的优点是跨平台性。的优点是跨平台性。8ppt课件HTML网页基本结构网页基本结构 HTML文件是

    8、标准的文件是标准的ASCII文件,像是加入了许多被称文件,像是加入了许多被称为链接签(为链接签(tag)的特殊字符串的普通文本文件。)的特殊字符串的普通文本文件。 从结构上,从结构上,HTML文件由元素(文件由元素(element)组成。)组成。 组成组成HTML文件的元素有许多种,用于组织文件的内文件的元素有许多种,用于组织文件的内容和指导文件的输出格式容和指导文件的输出格式 绝大多数元素是绝大多数元素是“容器容器”, 即它有即它有起始标记起始标记和和结尾标结尾标记记(start tag、end tag),中间部分是元素体。),中间部分是元素体。9ppt课件HTML文档的树状结构文档的树状结

    9、构根节点根节点的子节点相邻节点10ppt课件HEAD头元素头元素 清华大学计算机系清华大学计算机系这是一这是一HTML的测试文件的测试文件head中的中的和和标记用于网页命名,显示在浏览器的标题栏中。标记用于网页命名,显示在浏览器的标题栏中。设定与网页内容相关的各种信息,具体由其两个设定与网页内容相关的各种信息,具体由其两个参数参数http-equiv和和content决定。决定。http-equiv指定浏览器的编码种类;指定浏览器的编码种类;charset=gb2312表示用表示用GB码显示。码显示。11ppt课件HTML的常用标记的常用标记 HTML的常用标记有一些共同特点:都放在的常用标

    10、记有一些共同特点:都放在BODY标记里面。标记里面。常用的标记有字体标记、图片标记、超级链常用的标记有字体标记、图片标记、超级链接、列表、表格和表单等接、列表、表格和表单等注意:注意:(1)HTML文件文件不区分大小写不区分大小写;(2)HTML文件文件可以双击执行可以双击执行 12ppt课件文本标记文本标记 段落标记段落标记 表示标记段落。表示标记段落。标记常带参数标记常带参数align,用于控制对齐方式。,用于控制对齐方式。可取可取left,center,right。标题标记标题标记 到到6种,用于表示文种,用于表示文章中的各种题目。章中的各种题目。字体大小字体大小到到顺序减小。顺序减小。

    11、13ppt课件字体字体/字型标记字型标记 字型标记字型标记 、等等 。字体标记字体标记fontnn14ppt课件图片标记图片标记IMG标记标记IMG的属性有的属性有nwidth,heightnalt用来为图象指定描述性文字,当图象不能正常显示时出现;用来为图象指定描述性文字,当图象不能正常显示时出现;nborder表示边框的宽度,表示边框的宽度,0表示无边框。表示无边框。15ppt课件超级链接超级链接 清华大学清华大学Anchor用于定义超链接之间的关系。通过点击超链接,用于定义超链接之间的关系。通过点击超链接,可以在各个页面之间转换,将网页组织起来。可以在各个页面之间转换,将网页组织起来。的

    12、最常用参数的最常用参数href用于指明所链接对象的用于指明所链接对象的URL。URL可以指向一个页面、一副图片或一篇文章中作好标记可以指向一个页面、一副图片或一篇文章中作好标记的段落等。的段落等。 16ppt课件列表列表有序列表有序列表 第一第一 第二第二无序列表无序列表 清华大学清华大学 北京大学北京大学HTML中列表分为:有序列表、无序列表中列表分为:有序列表、无序列表n有序列表显示时,会自动按照顺序编号;有序列表显示时,会自动按照顺序编号;n无序列表显示时,所以行前面都有小圆圈,不分先后无序列表显示时,所以行前面都有小圆圈,不分先后17ppt课件基本表格基本表格 是表格的基本标记。是表格

    13、的基本标记。 代表代表表格的行表格的行,代表代表表格的列表格的列。 BORDER属性,指定围绕属性,指定围绕表格的外边框的宽度表格的外边框的宽度(只能用像素)。当表格用来使版面显得整齐,也就只能用像素)。当表格用来使版面显得整齐,也就是用来是用来“定位定位”,那么一定将边框设为,那么一定将边框设为0。 第一行第一列第一行第一列第一行第二列第一行第二列 第二行第一列第二行第一列第二行第二列第二行第二列 第三行第一列第三行第一列第三行第二列第三行第二列 18ppt课件表单表单 表单的功能是收集用户信息,实现系统与用户交互表单的功能是收集用户信息,实现系统与用户交互比如比如E-mail信箱的注册页面

    14、信箱的注册页面就是一个十分典型的表单页就是一个十分典型的表单页面。面。表单信息的处理过程如下:表单信息的处理过程如下:当单击表单中的当单击表单中的提交按钮提交按钮时,表单中的信息就时,表单中的信息就会上传到会上传到服务器中服务器中,然后然后由服务器端的应用程序进行处理由服务器端的应用程序进行处理,处理后将用户提,处理后将用户提交的信息存储在服务器端的数据库中,或者将有关信息交的信息存储在服务器端的数据库中,或者将有关信息返回到客户端浏览器上。返回到客户端浏览器上。 19ppt课件表单头及其属性表单头及其属性 用户名:用户名: 密码:密码: METHOD属性:说明从客户端浏览器将输入信息传送给属

    15、性:说明从客户端浏览器将输入信息传送给Web服务器的方式,有两种方式:服务器的方式,有两种方式:POST和和GET。20ppt课件表单头及其属性表单头及其属性 常见的表单控件包括文本框、文本域、密码框、多选框、常见的表单控件包括文本框、文本域、密码框、多选框、单选框和下拉列表框,等等单选框和下拉列表框,等等。 21ppt课件 HTML中的中的INPUT标记标记 TYPE属性:说明信息输入的类型。例如是文本框、单属性:说明信息输入的类型。例如是文本框、单选按钮或多选按钮。它的取值如下:选按钮或多选按钮。它的取值如下: TYPE = “TEXT” 表示单行文本框表示单行文本框 TYPE = “PA

    16、SSWORD”表示密码输入框表示密码输入框 TYPE = “RADIO” 表示单选按钮表示单选按钮 TYPE = “CHECKBOX” 表示多选按钮表示多选按钮 TYPE = “SUBMIT” 表示提交按钮表示提交按钮 TYPE = “RESET” 表示重置按钮表示重置按钮 NAME属性:表示表单提交时作为输入信息的命名(相属性:表示表单提交时作为输入信息的命名(相当于变量名)当于变量名) VALUE属性:表示按钮上的标题或者文本框的内容(属性:表示按钮上的标题或者文本框的内容(相当于变量值)相当于变量值)22ppt课件如何让如何让HTML显示显示更美观更美观呢?呢?如何使得显示和数据分离呢?

    17、如何使得显示和数据分离呢?23ppt课件CSSCascading Style Sheets 层叠样式表单层叠样式表单告诉浏览器如何显示页面告诉浏览器如何显示页面美化页面美化页面24ppt课件CSS语法语法 - 属性:值属性:值 Font-size: large Color: red例子:例子: h4 font-size: 12px; color:red; h2 background: #f0f0f0; 背景颜色 margin: 15px 0; 上下边界15 左右025ppt课件CSS样式选择样式选择Id 和和 class#id background-color:blue.class1 colo

    18、r:red;.class2 width:200px;height:100px 蓝色理想蓝色理想 红色理想红色理想 1 红色理想红色理想 2Id唯一唯一Class可重用可重用26ppt课件CSS引用方式引用方式内部引用内部引用 body background-color: blue; 外部引用(独立文件引用)外部引用(独立文件引用) /*文件位置就是所处在的文件夹相对与当前网页的相对路径*/ 27ppt课件有什么办法对HTML中的内容进行动态改变呢?28ppt课件JavascriptJavaScript是一种网页编程技术,大部分使用者将是一种网页编程技术,大部分使用者将它用于创建动态交互网页它用

    19、于创建动态交互网页JavaScript是是internet上最流行的脚本语言,它可上最流行的脚本语言,它可以在包括以在包括IE, Mozilla, Firefox, Netscape, 和和 Opera的所有主流浏览器中工作的所有主流浏览器中工作JavaScript是一种基于是一种基于对象和事件驱动的解释性脚对象和事件驱动的解释性脚本语言本语言JavaScript是一种使用简单,功能强大的编程语言是一种使用简单,功能强大的编程语言,是搭配服务器端技术的,是搭配服务器端技术的主要客户端编程语言主要客户端编程语言29ppt课件Javascript功能功能实现客户端动态效果实现客户端动态效果 Jav

    20、aScript 为为 HTML 设计者提供了一个编程工具设计者提供了一个编程工具 JavaScript 可以在可以在HTML页面中插入动态文本页面中插入动态文本 JavaScript 可以对事件进行反应可以对事件进行反应 JavaScript 可以读写可以读写HTML元素元素 JavaScript 可以被用来提交、验证数据可以被用来提交、验证数据30ppt课件JavaScript特点特点简单易用简单易用可以使用任何文本编辑工具编写可以使用任何文本编辑工具编写只需要浏览器就可以执行程序只需要浏览器就可以执行程序动态语言动态语言 解释执行解释执行事先不编译,逐行执行事先不编译,逐行执行无需进行严格

    21、的变量声明无需进行严格的变量声明基于对象基于对象内置大量现成对象,编写少量程序可以完成目标内置大量现成对象,编写少量程序可以完成目标事件驱动事件驱动采用事件驱动方式,能响应键盘事件,鼠标事件以及浏览采用事件驱动方式,能响应键盘事件,鼠标事件以及浏览器窗口事件等,并执行指定得操作器窗口事件等,并执行指定得操作31ppt课件JavaScript中的主要对象中的主要对象Window对象对象Document对象对象location对象对象history对象对象frame对象对象Frames数组数组form对象对象Forms数组数组elements对象对象text对象对象button对象对象32ppt课

    22、件适用场合适用场合适合做哪些事情适合做哪些事情客户端数据计算客户端数据计算客户端表单合法性验证客户端表单合法性验证浏览器对象的调用浏览器对象的调用浏览器事件的触发浏览器事件的触发网页特殊显示效果制作网页特殊显示效果制作不适合做哪些事情不适合做哪些事情大型应用程序大型应用程序图像、多媒体处理图像、多媒体处理网络实时通讯应用网络实时通讯应用33ppt课件直接嵌入式直接嵌入式在网页中直接嵌入在网页中直接嵌入JavaScript脚本开始声明HTML注释JavaScript多行注释JavaScript单行注释脚本结束声明语句结尾34ppt课件文件调用式文件调用式在网页中调用独立在网页中调用独立JavaS

    23、cript文件文件JS脚本文件中不需要脚本开始和结束声明HTML文件35ppt课件服务器端服务器端高级语言高级语言JavaCPython交互式数据处理交互式数据处理一般与数据库打交道一般与数据库打交道36ppt课件BS框架框架结果请 求数据库服务器Web服务器数据库个人机3个人机2个人机1浏览器浏览器请 求页 面浏览器应用程序37ppt课件服务器客户端数据交换服务器客户端数据交换Request对象从客户端获得信息对象从客户端获得信息QueryStringFormCookies38ppt课件服务器客户端数据交换服务器客户端数据交换Response对象从服务器端返回客户端信息对象从服务器端返回客户

    24、端信息WriteRedirect39ppt课件客户端服务器端交换数据语言客户端服务器端交换数据语言JSONXML40ppt课件JSONJSON (JavaScript Object Notation)例如返回搜索引擎结果例如返回搜索引擎结果JSON结构:结构: “answers: “title: “1, “url: “1.html, “snippet: “1. snippet, “title: “2, “url: “2.html, “snippet: “2. snippet, “title: “3, “url: “3.html, “snippet: “3. snippet41ppt课件JSON

    25、JavaScript Object Notation一种轻量级的数据交换格式。一种轻量级的数据交换格式。易于人阅读和编写,也易于机器解析和生成。易于人阅读和编写,也易于机器解析和生成。完全独立于语言的文本格式完全独立于语言的文本格式客户端用客户端用Javascript解析显示解析显示42ppt课件JSON优点优点体积小、传输快、省带宽体积小、传输快、省带宽易于机器的解析和生成易于机器的解析和生成支持多语言支持多语言能够通过能够通过JavaScript中中eval()函数解析函数解析JSON43ppt课件使用使用XML XML (eXtensive Markup Language) 例如返回搜索

    26、引擎结果例如返回搜索引擎结果 XML结构:结构: 1 1.html 1.snippet 2 2.html 2.snippet 44ppt课件JSON和和XML比较比较 cn: lang: zh_cn, name: 中文中文 , en: lang: us_en, name: 英文英文 zh_cn 中文中文 us_en 英文英文 45ppt课件JSON和和XML比较比较XML需要创建需要创建ActiveX对象,需要对象,需要DOM解析,解析,JSON则完全就是一个则完全就是一个JS对象对象XML可读性更好可读性更好46ppt课件如何进行服务器端编程?47ppt课件如何进行网络编程?如何进行网络编程

    27、?网络编程的痛苦1. 从头开始编写网络应用程序。2. 从头编写另一个网络应用程序。3. 从第一步中总结(找出其中通用的代码),并运用在第二步中。4. 重构代码使得能在第 2 个程序中使用第 1 个程序中的通用代码。5. 重复 2-4 步骤若干次。6. 意识到你发明了一个框架。48ppt课件Web框架框架提供通用提供通用Web开发模式的模型开发模式的模型提供频繁进行的编程作业的快速解决方案提供频繁进行的编程作业的快速解决方案MVC模型(模型(Model):封装数据和所有基于对数据的操作):封装数据和所有基于对数据的操作视图(视图(View):封装数据显示,即用户界面):封装数据显示,即用户界面控

    28、制器(控制器(Control):封装外界作用于模型的操作和):封装外界作用于模型的操作和对数据流向的控制对数据流向的控制49ppt课件Web框架功能框架功能提供提供URL映射映射 如何根据一个如何根据一个URL 找到需要执行的代码找到需要执行的代码通过模板系统通过模板系统分离内容和显示分离内容和显示对用户提交的东西转换成容易操控的数据结构对用户提交的东西转换成容易操控的数据结构更高的抽象更高的抽象 50ppt课件常用常用web框架框架PHP:FleaPHP,CakePHP ,Joomla JAVA:Struts ,SpringPython:Django ,Quixote Ruby:Ruby O

    29、n Rails 51ppt课件Python的的web编程框架编程框架Django由由 堪萨斯(堪萨斯(Kansas)州)州 Lawrence 城中的一城中的一个个 网络开发小组编写的网络开发小组编写的2003开始开发,开始开发,2005年完成年完成来源于一个著名的爵士乐吉他演奏家来源于一个著名的爵士乐吉他演奏家Django Reinhardt。Adrian 和和 Simon 开发开发52ppt课件Django特点特点提供强大的网络编程框架提供强大的网络编程框架一流的一流的 URL 设计设计通过模板系统分离内容和显示通过模板系统分离内容和显示53ppt课件Django 获取获取Django-1.

    30、4.tar.gzhttps:/ install创建目录创建目录 python djangobindjango-admin.py startproject hw启动启动server python hwmanage.py runserver Validating models. 0 errors found Django version 1.3, using settings hw.settings Development server is running at http:/127.0.0.1:8000/ Quit the server with CTRL-BREAK.python manage

    31、.py runserver IP:Port 55ppt课件文件作用介绍文件作用介绍_init_.py:当成一个开发包当成一个开发包 (即一组模块即一组模块)所需的文件所需的文件manage.py:命令行工具命令行工具提供简单化的提供简单化的django-admin.py 命令命令settings.py: django的配置文件的配置文件urls.pyurl 映射处理文件映射处理文件56ppt课件settings.pyROOT_URLCONF = hw.urlsURLconf 就像是就像是 Django 所支撑网站的目录。所支撑网站的目录。它的本质是它的本质是 URL 、视图函数之间的映射表。、

    32、视图函数之间的映射表。TEMPLATE_DIRS = ( hw/templates,)STATICFILES_DIRS = ( hw/static,)Django的一些设置的一些设置57ppt课件urls.pyfrom django.conf.urls.defaults import * urlpatterns = patterns(, # Example: # (rmysite/, include(mysite.apps.foo.urls.foo), # Uncomment this for admin: # (radmin/, include(django.contrib.admin.ur

    33、ls), url(r$,hw.hw.index),url(rhw/,hw.hw.indexhw)第一行从第一行从 django.conf.urls.defaults 模块引入了所有的对象,模块引入了所有的对象,其中包括了叫做其中包括了叫做 patterns 的函数。的函数。第二行调用第二行调用 patterns() 函数并进行函数并进行url映射映射58ppt课件匹配规则匹配规则rhw/$ 中的中的 r 表示表示 hw/$ 是一个原始字符串。是一个原始字符串。避免正则表达式有过多的转义字符。避免正则表达式有过多的转义字符。不必在不必在 hw/$ 前加斜杠(前加斜杠(/)来匹配)来匹配 /hw/

    34、 Django 会自动在每个表达式前添加一个斜杠。会自动在每个表达式前添加一个斜杠。上箭头上箭头 和美元符号和美元符号 $ 符号非常重要。符号非常重要。对字符串的对字符串的头部头部进行匹配进行匹配$对字符串的对字符串的尾部尾部进行匹配。进行匹配。59ppt课件Hello Worldhw.pyfromdjango.httpimportHttpResponsedefindex(request):returnHttpResponse(Hello,Django.)defindexhw(request):returnHttpResponse(HelloWorldDemo!)urls.pyurl(r$,h

    35、w.hw.index)url(rhw/,hw.hw.indexhw)60ppt课件Django是怎么处理请求的? django-admin.py startproject 创建的创建的 settings.py 和和 urls.py 系统自动生成的系统自动生成的 settings.py - ROOT_URLCONF 默认设置是默认设置是 hw.urls 。 python manage.py runserver 从同一目录载入文件从同一目录载入文件 settings.py 。 该文件包含了这个特定的该文件包含了这个特定的Django实例所有的各种可选配置实例所有的各种可选配置 最重要的配置是最重要

    36、的配置是 ROOT_URLCONF ROOT_URLCONF 告诉告诉Django哪个哪个Python模块用作本网站的模块用作本网站的URLconf Django 根据根据 ROOT_URLCONF 的设置,的设置,访问访问 /hw/urls.py , 从从URL Patterns查找,查找, 找到匹配的找到匹配的URLpatterns,调用相关联,调用相关联的的view函数,并把函数,并把 HttpRequest 对象作为第一个参数对象作为第一个参数61ppt课件什么是什么是Python视图视图视图函数视图函数(或(或 视图视图 )是一个接受)是一个接受 Web 请求请求并返回并返回 Web

    37、 响应的响应的 Python 函数。函数。该响应可以是该响应可以是一份网页的一份网页的 HTML 内容内容一次重定向一次重定向一条一条 404 错误错误一份一份 XML 文档文档一幅图片一幅图片或其它任何东西或其它任何东西62ppt课件静态页面实现静态页面实现settings.pySTATICFILES_DIRS = ( hw/static/ #任意目录,注意是任意目录,注意是/ 不是不是)urls.pyfrom django.conf import settings url(rstatic/(?P.*)$, django.views.static.serve, document_root:

    38、settings.STATIC_ROOT),63ppt课件动态页面实现动态页面实现视图是一个简单的视图是一个简单的 Python 方法方法/函数,它接函数,它接受一个请求对象,负责实现:受一个请求对象,负责实现:任何业务逻辑(直接或间接)任何业务逻辑(直接或间接)响应对象,它将所表示的结果返回到这个框架中响应对象,它将所表示的结果返回到这个框架中在在 Django 中,当一个中,当一个 URL 被请求时,所调被请求时,所调用的用的 Python 方法称为一个视图方法称为一个视图view,这个视,这个视图加载并被执行图加载并被执行64ppt课件例子:显示时间例子:显示时间time.pyfrom

    39、django.http import HttpResponseimport datetimedef current_datetime(request): now = datetime.datetime.now() html = It is now %s. % now return HttpResponse(htm)def hours_ahead(request, offset): offset = int(offset) dt = datetime.datetime.now() + datetime.timedelta(hours=offset) html = In %s hour(s), i

    40、t will be %s. % (offset, dt) return HttpResponse(html)urls.pyurl(rtime/$, hw.time.current_datetime),url(rtime/plus/(d1,2)/, hw.time.hours_ahead),65ppt课件如何进行数据交互如何进行数据交互?66ppt课件Httprequest对象对象def hours_ahead(request, offset): offset = int(offset) dt = datetime.datetime.now()+datetime.timedelta(hours=

    41、offset) html = In %s hour(s), it will be %s. % (offset, dt) return HttpResponse(html)request 是一个是一个 HttpRequest 对象对象每一个视图每一个视图 总是总是 以一个以一个HttpRequest 对象作为它的第一个参数对象作为它的第一个参数。67ppt课件Httprequest对象属性对象属性68ppt课件Httprequest对象方法对象方法69ppt课件例子例子 The Beatles The Who The Zombies 若用户输入了若用户输入了 John Smith“ 在多选框中同

    42、时选中了在多选框中同时选中了 The Beatles 和和 The Zombies, 然后点击然后点击 Submit, Django的的request对象将拥有对象将拥有:request.GET request.POST your_name: John Smith, bands: beatles, zombies request.POSTyour_name John Smith request.POST.getlist(bands) beatles, zombies static/form.html70ppt课件例子例子reply.pyfrom django.http import HttpR

    43、esponsefrom django.views.decorators.csrf import csrf_exempttext = The Beatles The Who The Zombies br/ csrf_exemptdef index(request):return HttpResponse(text % (request.POSTyour_name,request.POST.getlist(bands)urls.py url(rhw/formsubmit/$, hw.reply.index),71ppt课件HttpResponse与Django自动创建的 HttpRequest 对

    44、象相比,HttpResponse 对象则是由程序员创建的。程序员创建的每个视图都需要实例化,处理和返回一个 HttpResponse 对象。可以返回HTML可以返回Json可以返回XML72ppt课件例子:交互例子:交互add.pyfrom django.http import HttpResponsefrom django.views.decorators.csrf import csrf_exempttext = + csrf_exemptdef index(request): if request.POST.has_key(a): a = int(request.POSTa) b = i

    45、nt(request.POSTb) else: a = 0 b = 0 return HttpResponse(text % (a, b, a + b)urls.pyurl(radd/, hw.add.index),73ppt课件如何实现数据显示?如何实现数据显示?list.html通讯录 姓名地址 张三 李四 王五 74ppt课件模板模板 页面频繁修改,底层页面频繁修改,底层 Python 代码是否需要修改?代码是否需要修改? Python 代码编写和代码编写和 HTML 设计是两项不同的工作设计是两项不同的工作 大多数专业的网站开发环境都将他们分配给不同的人员来完成。大多数专业的网站开发环

    46、境都将他们分配给不同的人员来完成。 HTML/CSS 编写人员编写人员 Python编写人员编写人员 模板模板进行进行HTML/Python分离分离 模板文件是放在模板文件是放在html文件里文件里 在在.py文件中使用模板文件中使用模板75ppt课件数据显示分离数据显示分离list1.htmlTextbook 1 NameEmail Address % for user in address % user.name user.email % endfor %list.pyfrom django.shortcuts import render_to_responseaddress= name:

    47、San Zhang, email:, name:Si Li, email:, name:Wu Wang, email: def index(request): return render_to_response(list1.html, address: address)urls.pyurl(rlist/, hw.list.index), 表示引用一个变量表示引用一个变量% 表示代码调用表示代码调用https:/ = ( # Put strings here, like /home/html/django_templates or C:/www/django/templates. # Alway

    48、s use forward slashes, even on Windows. # Dont forget to use absolute paths, not relative paths. hw/templates,)77ppt课件如何使用模板如何使用模板方法1 直接渲染render_to_response(list1.html, address: address)方法2 加载模板文件创建加载模板文件创建 Template对象t = loader.get_template(list2.html) 调用调用 Template 对象对象的 render() 方法并提供给他变量(内容)c = C

    49、ontext(address: address) response.write(t.render(c) 78ppt课件方法方法2list2.htmlTextbook 2 NameEmail Address % for user in address % user.name user.email % endfor %lists.pyfrom django.template import loader, Contextfrom django.http import HttpResponseaddress= name:Zhang San, email:, name:Li Si, email:, na

    50、me:Wang Wu, email: def index(request): response = HttpResponse(mimetype=text/html) t = loader.get_template(list2.html) c = Context( address: address) response.write(t.render(c) return responseurls.py url(rlist2/$, hw.lists.index),79ppt课件模板语法模板语法变量变量(variable) : 用用两个大括号括起来两个大括号括起来的文字的文字 例如例如 person_n

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Python-Web编程-ppt课件.ppt
    链接地址:https://www.163wenku.com/p-2784693.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库