编程虚拟环境
flask框架的学习要基于virtualenv虚拟环境下:因为不同程序依赖不同框架,而退出虚拟环境后对全局python环境无影响
$ source venv/bin/activate #开启虚拟环境
(venv)$ - #进入虚拟环境
(venv)$ deactivate #退出虚拟环境
程序结构
1.Web中的概念(待补充)
- Web请求响应机制:客户端(如浏览器)发送请求给Web服务器,Web服务器将请求传给Flask实例(或者其他WSGI对象)
- 路由:处理url和函数之间的关系的程序
flask依赖修饰器@app.route()定义路由 - 视图函数:根据不同url返回响应的函数
- 动态码
2.程序功能
# -*- coding:utf-8 -*-
from flask import Flask
from flask import redirect
from flask import abort
from flask.ext.script import Manager
app = Flask(__name__) #创建Flask实例(WSGI对象)
manager = Manager(app)
@app.route('/') #由app.route装饰器定义路由
def index(): #访问相应的地址会触发相应的视图函数,获得相应的响应
return '<h1>Hello World!</h1>' #返回值即响应
@app.route('/user/<name>') #用特殊句法定义url中的可变部分
def user(name):
# usr = load_user(name)
if not name:
abort(404)
return '<h1>Hello %s</h1>' % name
@app.route('/web')
def web():
return redirect('http://www.baidu.com') #redirect函数生成重定向响应
if __name__ == '__main__':
manager.run() #扩展支持命令行
if __name__ == '__main__': #确保直接执行这个脚本时才启动该服务
app.run(debug=True) #启动web服务器