Python Flask Web 第一课 —— 基本概念和程序的基本结构
2016-06-02 12:35
453 查看
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 Print的扩展
- Python加载图片的方法
- Python学习笔记 —— 基础语法
- Python Tricks(十五)—— repeat(字符串重复)
- python打印对象所有属性
- Python 进阶 —— 使用修饰器执行函数的参数检查
- Python eval() 和 exec()函数
- python冒泡算法
- 一些常用的Python工具库
- python中函数的参数
- ubuntu 安装 pythonenv
- netCDF4-python的安装
- Windows下如何获取与手机设备有关的进程信息(Python版)
- Python2学习笔记(4)
- python常见环境安装
- leetcode 77. Combinations-排列|递归|非递归|Java|Python
- Python——Windows下安装gevent依赖包
- python操作mysql数据库
- Python 递归函数
- 常用的调试器——概述篇