基于Python的Flask Web 开发 笔记 (1)
来源:互联网 发布:软件的分类 编辑:程序博客网 时间:2024/05/16 14:55
1)安装
$ pip install flask
2) 主要程序结构
from flask import Flask from flask import requestapp = Flask(__name__) #初始化@app.route('/')<span style="white-space:pre"></span># 路由,URL和对应处理函数def index():<span style="white-space:pre"></span># 视图函数,渲染返回页面 user_agent = request.headers.get('User-Agent') return '<p>Your browser is %s</p>' % user_agent@app.route('/user/<name>')<span style="white-space:pre"></span># 动态路由,加参数的请求处理def user(name): return '<h1>Hello, %s!</h1>' % nameif __name__ == '__main__': app.run(debug=True)<span style="white-space:pre"></span># 启动服务器
3)请求响应循环
Flask从客户端收到请求时,要让视图函数能访问一些对象, request 对象就是一个很好的例子。
上述例子打印出了UA(用户代理)内容
Flask 使用上下文临时把某些对象变为全局可访问 ,有 程序上下文 和 请求上下文
程序上下文: current_app g 请求上下文: request session
上下文需要推送后,才可调用。 app.route 或 app.add_url_rule() 生成路由映射
响应,
可返回响应内容和状态吗
设置cookie或重定向
from flask import Flaskfrom flask import requestfrom flask import make_responsefrom flask import redirectapp = Flask(__name__)@app.route('/')def index(): #resp = make_response('<h1>This doc carries a cookie</h1>') #resp.set_cookie('answer', '42') #return resp return redirect('http://www.csdn.net')@app.route('/user/<name>')def user(name): return '<h1>Hello, %s!</h1>' % nameif __name__ == '__main__': app.run(debug=True)
abort 响应函数
from flask import abort@app.route('/user/<id>')def get_user(id): user = load_user(id) if not user: abort(404) return '<h1>Hello, %s</h1>' % user.name
Flask扩展
使用Flask-Script支持命令行选项
安装: $ pip install flask-script
from flask.ext.script import Manager manager = Manager(app)# ...if __name__ == '__main__': manager.run()
$ python hello.py runserver --host 0.0.0.0 * Running on http://0.0.0.0:5000/ * Restarting with reloader
Web 服务器可使用http://a.b.c.d:5000/网络中的任一台电脑进行访问,其中“a.b.c.d”是服务器所在计算机的外网IP 地址
0 0
- 基于Python的Flask Web 开发 笔记 (1)
- 基于Python的Flask Web开发 笔记 (2)
- Flask之旅《Flask Web开发:基于Python的Web应用开发实战》学习笔记
- Flask Web开发(一)基于python的Web表单
- 【001】基于Python的Flask Web应用框架(1)
- 第一部分 flask简介《Flask Web开发:基于Python的Web应用开发实战》
- python学习笔记-基于flask的web服务提供
- 基于python的web框架——Flask 学习笔记
- Python Flask Web 开发(1)
- 【002】基于Python的Flask Web应用框架(2)
- Flask WEB 开发(基于Python的Web应用开发实践)遇到的bug
- Flask Web开发:基于Python的Web应用开发实战pdf
- 基于Python的flask的开发实战
- 边做边学Python Flask Web开发(1)-- 安装Python
- flaskWeb开发(基于python的web开发实战)-第一部分-Flask简介
- 边做边学Python Flask Web开发(3)-- Flask Hello World!
- Python Flask web 开发讲解--1
- python Flask Web开发入门(一)
- 地标性建筑
- mac下用eclipse搭建go语言开发环境
- 继承ViewPager实现上下滑动整页
- 一致性hash
- 【HTML5教程】微信小程序全方位深度解析【完结】
- 基于Python的Flask Web 开发 笔记 (1)
- 博客发起小小讨论:论坛签名到底还有没有作用?
- 对于优化jfinal下拉框的问题
- 判断一个App是否在前台运行(方法超级简单)
- 上传本地项目到github
- 一致性hash理解
- Activity 之间的回调得不到结果
- 关于C中指针的引用,解引用与脱去解引用
- 在Ubuntu16.04下搭建samba,实现linux与windows之间的