第二章 程序的基本结构
2016-10-31 16:42
169 查看
2.1初始化
2.2路由和视图函数
2.3启动服务器
2.4一个完整的程序
执行该文件后,访问http://127.0.0.1:5000
2.5请求-响应循环
2.5.1 程序和请求上下文
2.5.2 请求调度
2.5.3 请求钩子
before_first_request 处理第一个请求之前运行
before_request 每次请求之前运行
after_request 如果没有异常抛出,每次请求之后运行
teardown_request 即使有异常抛出,也在请求之后运行
2.5.4 响应
2.6 Flask扩展
安装扩展
导入扩展
使用扩展
from flask import Flask app = Flask(__name__)
2.2路由和视图函数
@app.route('/') def index(): return '<p>Hello World<p>'
2.3启动服务器
if __name__ == '__main__': app.run(debug=True)
2.4一个完整的程序
from flask import Flask app = Flask(__name__)
@app.route('/')
def index():
return '<p>Hello World<p>'
if __name__ == '__main__': app.run(debug=True)
执行该文件后,访问http://127.0.0.1:5000
2.5请求-响应循环
2.5.1 程序和请求上下文
//获取header信息 @app.route('/') def index(): user_agent = request.headers.get('User-Agent') return '<p>Your browser is %s<p>' % user_agent
2.5.2 请求调度
>>> app.url_map Map([<Rule '/' (HEAD, OPTIONS, GET) -> index>, <Rule '/static/<filename>' (HEAD, OPTIONS, GET) -> static>, <Rule '/user/<name>' (HEAD, OPTIONS, GET) -> user>])
2.5.3 请求钩子
before_first_request 处理第一个请求之前运行
before_request 每次请求之前运行
after_request 如果没有异常抛出,每次请求之后运行
teardown_request 即使有异常抛出,也在请求之后运行
不详
2.5.4 响应
// 返回400 @app.route('/') def index(): return '<h1>Bad Request</h1>', 400
// 设置响应,响应时设置浏览器cookie @app.route('/res') def res(): response = make_response('<h1>This document carries a cookie!</h1>') response.set_cookie('answer', '42') return response
// 重定向链接 @app.route('/red') def red(): return redirect('http://www.baidu.com')
// 不满足条件主动抛出404 app.route('/user_id/<user_id>') def get_user(user_id): re_user = load_user(user_id) if not re_user: abort(404) return '<h1> hello, %s</h1>' % re_user def load_user(user_id): re_id = str(user_id) re = {"1": "user_a", "2": "user_b"} return re.get(re_id)
2.6 Flask扩展
安装扩展
(venv) $ pip install flask-script
导入扩展
from flask.ext.script import Manager manager = Manager(app)
if __name__ == '__main__': manager.run()
使用扩展
(venv) $ python hello.py runserver --help
相关文章推荐
- 第二章:程序的基本结构
- OpenGL基础图形编程 - OpenGL基本程序结构
- 程序的三个基本结构,面向对象的三个特征(zt)
- Flex程序基本结构--顺序结构程序设计
- 第二章 ASP、NET的程序结构
- (1)Pascal 程序结构和基本语句
- VHDL程序的基本结构
- C#笔记(3)---基本语法[程序结构]
- WML程序的基本结构
- Socket——最基本的TCP CS结构的程序
- 前言:O3D程序基本结构
- 二、 基本程序结构
- Java基本的程序设计结构(一)
- OpenGL基础图形编程 - OpenGL基本程序结构
- C语言程序设计 第三章 三种基本程序结构
- C程序的基本结构与简单规范
- Windows程序的基本结构
- Java基本的程序设计结构(三)
- FLEX程序基本结构--循环结构程序设计
- C#笔记(3)---基本语法[程序结构]