Python Flask Web 第一课 —— 基本概念和程序的基本结构

原创 2016年06月02日 12:35:03

1. 初始化

所有的 Flask 程序都必须创建一个程序实例,所谓程序实例,在 Flask 框架下就是,Flask 类的实例对象(instance)。

from flask import Flask
app = Flask(__name__)

Web 服务器使用一种名为 Web 服务器网关接口(Web Server Gateway Interface,WSGI)的协议,把接收自客户端(client)的所有请求(request)都转交给这个对象处理。

2. 路由与视图函数


这里写图片描述

客户端(例如 web 浏览器)把请求发送给 web 服务器,web 服务器再把请求发送给 flask 程序实例。

程序实例需要知道对每个 url 请求运行哪些代码,所以需要保存一个 URL 与 Python 函数之间的映射关系。处理 URL 和函数之间的关系的程序成为路由

@app.route('/')
def index():
    return '<h1>Hello World!</h1>'

而像 index() 这样的函数被称为视图函数(view function),视图函数返回的响应可以是包含 HTML 的简单字符串,也可以是复杂的表单。

如果仔细观察日常所用服务的某些 url 格式,会发现许多地址中都包含可变部分。例如 csdn 上的个人博客地址,http://blog.csdn.net/<用户名>,用户名是地址的一部分。

Flask 也支持这种形式的 URL,

@app.route('/user/<name>')
def user(name):
    return '<h1>Hello, %s</h1>' % name

尖括号中的内容就是动态可变部分,任何能匹配静态部分的 URL 都会映射到这个路由上,调用视图函数时,Flask 会将动态部分作为参数传入函数(注意, 尖括号中的内容必须和函数的参数名保持一致)。

路由中的动态部分默认使用字符串,不过也可以使用其他类型定义。Flask 支持在路由中使用 int、float 和 path 类型。path 类型也是字符串,但不把斜线视作分隔符,而将其当做动态片段的一部分。

3. 启动服务器

程序实例app使用 run 方法启动 Flask 集成的开发 Web 服务器:

if __name__ == '__main__':
    app.run(debug=True)

服务器启动后,会进入轮询,等待并处理请求,直到程序停止,比如按下 ctrl + c 键。换句话说,程序会阻塞在这里app.run()后面的语句不会被执行。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Python类对象的JSON序列化处理

不同的编程语言有不同的数据类型; 比如说: Python的数据类型有(dict、list、string、int、float、long、bool、None) Java的数据类型有(bool、char、b...

Flask中render_template的使用和模板的继承

ee

Flask Web开发 第一部分 virtualenv & 第2章 Flask程序的基本结构

1. virtualenvpip install virtualenv创建windows系统下的 Python 虚拟环境 这个命令只有一个必需的参数,即虚拟环境的名字。创建虚拟环境后,当前文件夹中会...

Java第一课 Java的一些基本概念,Java的起源、为什么我们要学习Java语言,Java跨平台原理剖析;Java环境变量的配置,初学者常犯的问题,Java语言的基本数据类型和Java的语句。

Java的一些基本概念,Java的起源、为什么我们要学习Java语言,Java跨平台原理剖析;Java环境变量的配置,初学者常犯的问题,Java语言的基本数据类型和Java的语句。 pu...

Hibernate框架学习(第一讲)---基本概念和体系结构

当今应用软件的交互基本上都离不开数据库的支持,在Java的世界里,传统的数据库访问就是jdbc数据库访问,刚开始学习的时候应该还能满足我们的需求,但真正在实际应用中,其繁琐的操作,开发效率低效,代码冗...

陈越、何钦铭《数据结构》第一讲基本概念 笔记

1.1什么是数据结构 1.1.1关于数据组织-例:图书摆放 ”数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相应的函数来给出。“ Sartaj ...
  • wtrnash
  • wtrnash
  • 2015年09月03日 16:22
  • 1644

陈越《数据结构》第一讲 基本概念

陈越《数据结构》第一讲 基本概念1什么是数据结构1.1 引子例子:如何在书架上摆放图书? 随便放; 按照书名的拼音字母顺序排放; 把书架划分成几块区域,每块区域指定摆放某种类别的图书...

第一部分C语言入门 第一章 程序的基本概念

Linux C编程一站式学习 第一节程序和汇编语言 程序包含五种基本指令:输入,输出,基本运算,测试和分支,循环。 编写程序可以说就是这样一个过程:把复杂的任务分解成子任务,把子...
  • teamug
  • teamug
  • 2014年03月21日 04:22
  • 547

第一课、Scala基本语法和控制结构

1.Scala介绍      Scala 是一种把面向对象和函数式编程理念加入到静态类型语言中的混血儿。Scala 的许多不同的方面都展现了面向对象和函数式编程的熔合 2.函数式编程的两种理念 1)...

Python学习第一课----基本输入输出

首先在电脑上下载Python,然后再
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python Flask Web 第一课 —— 基本概念和程序的基本结构
举报原因:
原因补充:

(最多只允许输入30个字)