08 2019 档案

摘要:JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。 在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身 阅读全文
posted @ 2019-08-30 15:19 雷林鹏 阅读(240) 评论(0) 推荐(0)
摘要:我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码。 因此,我们需要查看 HTTP 请求,从中提取出请求的 URL 以及 GET/POST 参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我 阅读全文
posted @ 2019-08-30 15:11 雷林鹏 阅读(139) 评论(0) 推荐(0)
摘要:在JavaScript中,一个函数可以作为另一个函数的参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。 Node.js中函数的使用与Javascript类似,举例来说,你可以这样做: function say(word) { console.log(word); } fu 阅读全文
posted @ 2019-08-30 15:06 雷林鹏 阅读(119) 评论(0) 推荐(0)
摘要:为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。 创建模块 在 N 阅读全文
posted @ 2019-08-30 14:57 雷林鹏 阅读(152) 评论(0) 推荐(0)
摘要:Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。 Node.js,Stream 有四种流类型: Readable - 可读操作。 Writable - 可写操作。 Dupl 阅读全文
posted @ 2019-08-28 14:29 雷林鹏 阅读(157) 评论(0) 推荐(0)
摘要:JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。 但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。 在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心 阅读全文
posted @ 2019-08-28 14:23 雷林鹏 阅读(257) 评论(0) 推荐(0)
摘要:Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。 Node.js 里面的许多对象都会分发事件:一个 net.Server 对象会在每次有新连接时触发一个事件, 一个 fs.readStream 对象会在文件被打开的时候触发一个事件。 所有这些产生事件的对象都是 event 阅读全文
posted @ 2019-08-27 15:56 雷林鹏 阅读(147) 评论(0) 推荐(0)
摘要:Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。 Node.js 几乎每一个 API 都是支持回调函数的。 Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。 Node.js 单线程类似进入一个wh 阅读全文
posted @ 2019-08-27 15:49 雷林鹏 阅读(152) 评论(0) 推荐(0)
摘要:Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。 Node 自带了交互式解释器,可以执行以下任务: 读取 - 读取用户输入,解析输入 阅读全文
posted @ 2019-08-26 16:01 雷林鹏 阅读(135) 评论(0) 推荐(0)
摘要:NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用 阅读全文
posted @ 2019-08-26 15:46 雷林鹏 阅读(245) 评论(0) 推荐(0)
摘要:如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi。 从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求根本不需 要 PHP 来处理。 不过对 Node.js 来说,概念完全不一样了。使用 N 阅读全文
posted @ 2019-08-23 15:05 雷林鹏 阅读(153) 评论(0) 推荐(0)
摘要:本章节我们将向大家介绍在 Windows 和 Linux 上安装 Node.js 的方法。 本安装教程以 Node.js v4.4.3 LTS(长期支持版本)版本为例。 Node.js 安装包及源码下载地址为:https://nodejs.org/en/download/。 你可以根据不同平台系统选 阅读全文
posted @ 2019-08-23 14:31 雷林鹏 阅读(171) 评论(0) 推荐(0)
摘要:简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能 阅读全文
posted @ 2019-08-22 14:41 雷林鹏 阅读(183) 评论(0) 推荐(0)
摘要:FastCGI是Web服务器(如nginix,lighttpd和Cherokee)上Flask应用程序的另一个部署选项。 配置FastCGI 首先,需要创建FastCGI服务器文件,例如它的名称为:yourapplication.fcgiC 。 from flup.server.fcgi impor 阅读全文
posted @ 2019-08-22 14:25 雷林鹏 阅读(250) 评论(0) 推荐(0)
摘要:开发服务器上的Flask应用程序只能在设置了开发环境的计算机上访问。 这是一种默认行为,因为在调试模式下,用户可以在计算机上执行任意代码。 如果禁用了调试,则通过将主机名设置为:0.0.0.0,可以使网络上的用户可以使用本地计算机上的开发服务器。 app.run(host = ’0.0.0.0’) 阅读全文
posted @ 2019-08-21 14:47 雷林鹏 阅读(173) 评论(0) 推荐(0)
摘要:Sijax代表’Simple Ajax’,它是一个Python/jQuery库,旨在帮助Flask开者者轻松地将Ajax引入到应用程序。 它使用jQuery.ajax来发出AJAX请求。 安装 Flask-Sijax的安装非常简单,使用以下命令 - pip install flask-sijax 配 阅读全文
posted @ 2019-08-21 14:27 雷林鹏 阅读(443) 评论(0) 推荐(0)
摘要:在Flask Web应用程序中使用原始SQL对数据库执行CRUD操作可能很乏味。 相反,Python工具包SQLAlchemy是一个功能强大的OR映射器,为应用程序开发人员提供了SQL的全部功能和灵活性。 Flask-SQLAlchemy是Flask扩展,它将对SQLAlchemy的支持添加到Fla 阅读全文
posted @ 2019-08-20 14:26 雷林鹏 阅读(187) 评论(0) 推荐(0)
摘要:Python拥有对SQlite的内置支持。 SQlite3模块随附Python发行版。 有关在Python中使用SQLite数据库的详细教程,请参阅此链接。 在本节中,我们将看到Flask应用程序如何与SQLite进行交互。 创建一个SQLite数据库‘database.db’并在其中创建一个stu 阅读全文
posted @ 2019-08-20 14:15 雷林鹏 阅读(225) 评论(0) 推荐(0)
摘要:Web应用程序的一个重要方面是为用户提供一个用户界面。 HTML提供了一个 通过GET或POST方法将用户输入的数据以Http请求消息的形式提交给服务器端脚本。 服务器端脚本必须从http请求数据重新创建表单元素。 所以实际上,表单元素必须被定义两次 - 一次是HTML,一次是服务器端脚本。 使用H 阅读全文
posted @ 2019-08-19 14:44 雷林鹏 阅读(244) 评论(0) 推荐(0)
摘要:基于Web的应用程序通常需要具有向用户/客户端发送邮件的功能。 Flask-Mail扩展使得用任何电子邮件服务器设置一个简单接口变得非常简单。 起初,Flask-Mail扩展可使用pip工具来安装,如下所示 - pip install Flask-Mail 然后需要通过设置以下应用程序参数的值来配置 阅读全文
posted @ 2019-08-19 14:32 雷林鹏 阅读(192) 评论(0) 推荐(0)
摘要:Flask通常被称为微框架,因为核心功能包括基于Werkzeug的WSGI和路由以及基于Jinja2的模板引擎。 此外,Flask框架还支持cookie和会话以及Web助手,如JSON,静态文件等。显然,这对于开发完整的Web应用程序来说还不够。 这是为什么还要Flask扩展插件。 Flask扩展为 阅读全文
posted @ 2019-08-16 14:52 雷林鹏 阅读(145) 评论(0) 推荐(0)
摘要:在Flask中处理文件上传非常简单。 它需要一个enctype属性设置为'multipart/form-data'的HTML表单,将该文提交到指定URL。 URL处理程序从request.files[]对象中提取文件并将其保存到所需的位置。 每个上传的文件首先保存在服务器上的临时位置,然后再保存到最 阅读全文
posted @ 2019-08-16 14:44 雷林鹏 阅读(255) 评论(0) 推荐(0)
摘要:一个基于GUI好的应用程序需要向用户提供交互的反馈信息。 例如,桌面应用程序使用对话框或消息框,JavaScript使用alert()函数用于类似的目的。 在Flask Web应用程序中生成这样的信息消息很容易。 Flask框架的闪现系统使得可以在一个视图中创建一个消息并将其呈现在名为next的视图 阅读全文
posted @ 2019-08-15 15:43 雷林鹏 阅读(252) 评论(0) 推荐(0)
摘要:Flask类有重定向redirect()函数。调用时,它会返回一个响应对象,并将用户重定向到具有指定状态码的另一个目标位置。 redirect()函数的原型如下 - Flask.redirect(location, statuscode, response) 在上述函数中 - location 参数 阅读全文
posted @ 2019-08-15 15:36 雷林鹏 阅读(378) 评论(0) 推荐(0)
摘要:与Cookie不同,会话数据存储在服务器上。 会话是客户端登录到服务器并注销的时间间隔。 需要在此会话中进行的数据存储在服务器上的临时目录中。 与每个客户端的会话分配一个会话ID。 会话数据存储在cookie顶部,服务器以加密方式签名。 对于这种加密,Flask应用程序需要一个定义SECRET_KE 阅读全文
posted @ 2019-08-14 14:18 雷林鹏 阅读(205) 评论(0) 推荐(0)
摘要:Cookie以文本文件的形式存储在客户端计算机上。 其目的是记住和跟踪与客户使用有关的数据,以获得更好的访问体验和网站统计。 Request对象包含一个cookie的属性。 它是所有cookie变量及其对应值的字典对象,客户端已发送。 除此之外,cookie还会存储其到期时间,路径和站点的域名。 在 阅读全文
posted @ 2019-08-14 13:44 雷林鹏 阅读(302) 评论(0) 推荐(0)
摘要:我们已经看到,可以在URL规则中指定http方法。URL映射的函数接收到的表单数据可以以字典对象的形式收集,并将其转发给模板以在相应的网页上呈现它。 在以下示例中,URL => / 呈现具有表单的网页(student.html)。填充的数据会提交到触发result()函数的URL => /resul 阅读全文
posted @ 2019-08-13 14:17 雷林鹏 阅读(199) 评论(0) 推荐(0)
摘要:来自客户端网页的数据作为全局请求对象发送到服务器。要处理请求数据,请求对旬应该从Flask模块导入。 请求对象的重要属性如下所列 - form - 它是包含表单参数及其值的键和值对的字典对象。 args - 解析问号(?)后的URL部分查询字符串的内容。 cookies - 保存Cookie名称和值 阅读全文
posted @ 2019-08-13 14:01 雷林鹏 阅读(144) 评论(0) 推荐(0)
摘要:Web应用程序通常需要一个静态文件,例如支持显示网页的JavaScript文件或CSS文件。 通常,可以通过配置Web服务器提供这些服务,但在开发过程中,这些文件将从包中的静态文件夹或模块旁边提供,它将在应用程序的/static上提供。 使用特殊的端点“静态”来为静态文件生成URL。 在以下示例中, 阅读全文
posted @ 2019-08-12 13:52 雷林鹏 阅读(147) 评论(0) 推荐(0)
摘要:Flask可以以HTML形式返回绑定到某个URL的函数的输出。 例如,在以下脚本中,hello()函数将使用附加的 标记呈现‘Hello World’ 。 from flask import Flask app = Flask(__name__) @app.route('/') def index( 阅读全文
posted @ 2019-08-12 13:42 雷林鹏 阅读(201) 评论(0) 推荐(0)
摘要:Http协议是万维网数据通信的基础。 它协议定义了从指定URL中检索不同数据的方法。 下表概括了不同的http方法 - 编号方法描述 1GET将数据以未加密的形式发送到服务器,这最常用的方法。 2HEAD与GET相同,但没有响应主体 3POST用于将HTML表单数据发送到服务器。通过POST方法接收 阅读全文
posted @ 2019-08-09 14:50 雷林鹏 阅读(318) 评论(0) 推荐(0)
摘要:url_for()函数对于动态构建特定函数的URL非常有用。 该函数接受函数的名称作为第一个参数,并接受一个或多个关键字参数,每个参数对应于URL的变量部分。 以下脚本演示了使用url_for()函数。 from flask import Flask, redirect, url_for app = 阅读全文
posted @ 2019-08-09 14:40 雷林鹏 阅读(188) 评论(0) 推荐(0)
摘要:可以通过将可变部分添加到规则参数来动态构建URL。 这个变量部分被标记为。 它作为关键字参数传递给规则所关联的函数。 在以下示例中,route()装饰器的规则参数包含附加到URL /hello的变量部分。 因此,如果在浏览器中输入URL: http://localhost:5000/hello/co 阅读全文
posted @ 2019-08-08 14:05 雷林鹏 阅读(189) 评论(0) 推荐(0)
摘要:现代Web框架使用路由技术来帮助用户记住应用程序URL。 无需从主页导航即可直接访问所需页面。 Flask中的route()装饰器用于将URL绑定到函数。 例如 - @app.route('/hello') def hello_world(): return 'hello world' 这里,URL 阅读全文
posted @ 2019-08-08 13:59 雷林鹏 阅读(134) 评论(0) 推荐(0)
摘要:要测试Flask安装是否成功,在编辑器中输入以下代码,并保存到文件:Hello.py 中。 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World' if 阅读全文
posted @ 2019-08-07 14:25 雷林鹏 阅读(190) 评论(0) 推荐(0)
摘要:安装Flask通常需要Python 2.6或更高版本。 尽管Flask及其依赖与Python 3(Python 3.3以上版本)配合良好,但许多Flask扩展并不能正确支持它。 因此,但是官方建议在Python 3.6+ 以上安装Flask。 安装virtualenv virtualenv是一个虚拟 阅读全文
posted @ 2019-08-07 14:15 雷林鹏 阅读(228) 评论(0) 推荐(0)
摘要:什么是Web框架? Web应用程序框架或简单的Web框架表示一组库和模块,它们使Web应用程序开发人员能够编写应用程序,而不必担心如协议,线程管理等低层细节。 什么是Flask? Flask是一个用Python编写的Web应用程序框架。 它由Armin Ronacher开发,他领导着一个名为Pocc 阅读全文
posted @ 2019-08-06 14:20 雷林鹏 阅读(186) 评论(0) 推荐(0)
摘要:具有特定属性的HTML元素样式 具有特定属性的HTML元素样式不仅仅是class和id。 注意:IE7和IE8需声明!DOCTYPE才支持属性选择器!IE6和更低的版本不支持属性选择器。 属性选择器 下面的例子是把包含标题(title)的所有元素变为蓝色: 实例 [title] { color:bl 阅读全文
posted @ 2019-08-06 14:14 雷林鹏 阅读(125) 评论(0) 推荐(0)
摘要:媒体类型允许你指定文件将如何在不同媒体呈现。该文件可以以不同的方式显示在屏幕上,在纸张上,或听觉浏览器等等。 媒体类型 一些 CSS 属性只设计了某些媒体。例如 voice-family 属性是专为听觉用户代理。其他一些属性可用于不同的媒体类型。例如, font-size 属性可用于屏幕和印刷媒体, 阅读全文
posted @ 2019-08-05 14:25 雷林鹏 阅读(127) 评论(0) 推荐(0)
摘要:图像拼合 图像拼合就是单个图像的集合。 有许多图像的网页可能需要很长的时间来加载和生成多个服务器的请求。 使用图像拼合会降低服务器的请求数量,并节省带宽。 图像拼合 - 简单实例 与其使用三个独立的图像,不如我们使用这种单个图像("img_navsprites.gif"): 有了CSS,我们可以只显 阅读全文
posted @ 2019-08-05 14:19 雷林鹏 阅读(206) 评论(0) 推荐(0)
摘要:使用CSS很容易创建透明的图像。 注意:CSS Opacity属性是W3C的CSS3建议的一部分。 实例1 - 创建一个透明图像 CSS3中属性的透明度是 opacity。 首先,我们将向您展示如何用CSS创建一个透明图像。 正常的图像 相同的图像带有透明度: 看看下面的CSS: img { opa 阅读全文
posted @ 2019-08-02 14:55 雷林鹏 阅读(149) 评论(0) 推荐(0)
摘要:图片廊 以下是使用 CSS 创建图片廊: 实例 这里添加图片文本描述 这里添加图片文本描述 这里添加图片文本描述 这里添加图片文本描述 更多实例 响应式图片廊 使用 CSS3 的媒体查询来创建响应式图片廊: 这里添加图片文本描述 这里添加图片文本描述 这里添加图片文本描述 这里添加图片文本描述 重置 阅读全文
posted @ 2019-08-02 14:46 雷林鹏 阅读(132) 评论(0) 推荐(0)
摘要:本文我们为大家介绍如何使用 HTML 与 CSS 来创建提示工具。 提示工具在鼠标移动到指定元素后触发,先看以下四个实例: 头部显示右边显示底部显示左边显示 基础提示框(Tooltip) 提示框在鼠标移动到指定元素上显示: HTML 代码: 鼠标移动到这 提示文本 实例解析 HTML) 使用容器元素 阅读全文
posted @ 2019-08-01 14:51 雷林鹏 阅读(204) 评论(0) 推荐(0)
摘要:使用 CSS 创建一个鼠标移动上去后显示下拉码单的效果。 下拉码单实例 实例演示 1 文本下拉码单 实例演示 2 下拉码单 基本下拉码单 当鼠标移动到指定元素上时,会出现下拉码单。 实例 Mouse over me Hello World! Mouse over me Hello World! He 阅读全文
posted @ 2019-08-01 14:34 雷林鹏 阅读(147) 评论(0) 推荐(0)