1、初始化
from flask import Flask
app=Flask(__name__)
2、路由和视图函数
客户端把请求发送给web服务器,服务器再把请求发送给Flask程序实例,要知道每个URL请求运行的代码,保存一个URL到python函数的映射,处理URL和函数之间的关系程序就是路由 客户端
客户端
web服务器
Flask程序
@app.route('/')
def index():
return 'Hello World'
index就是视图函数
2.1、可变部分
@app.route('/user/<username>')
def user(username):
return 'Hello,'+username
2.2 get和post请求
GET:从服务器上获取数据,也就是所谓的查,仅仅是获取服务器资源,不进行修改。发送用户信息到服务端,数据信息包含在请求url上,以?分割
- GET可被浏览器缓存
- 会保存在历史记录中
- 有长度限制
- 不应用于敏感场合
- 只应用于取回数据
POST:向服务器提交数据,这就涉及到了数据的更新,也就是更改服务器的数据。安全可靠,敏感数据如用户密码需要用post传输,使用SSL加密POST请求
- 请求包含在HTTP请求头中
- 请求不会显式在URL中
@app.route('/',method=['Post'])
3、启动服务器
if __name__=="__main__":
app.run(debug=True)
4、路由
4.1 自定义路由参数
@app.route('/user/<name>')
def user(name):
return 'Hello,'+name
访问 /user/<name>
4.2使用request来请求
导入对象request
@app.route('/query_user')
def query_user():
id = request.args.get('id')
return 'query_user:'+id
访问 /query_user?id=name
5、反向路由
通过视图函数反倒出URL地址,导入对象url_for('视图函数')
@app.route('/query_url')
def query_url():
return 'query_url:'+url_for('query_user')
使用url_for()生成动态地址时,将动态部分作为关键字参数传入
url_for('user',name='John',_external=True)
_external=True为绝对地址