Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。
安装:
pip install flask #安装flask
基本使用
from flask import Flask app=Flask(__name__) #创建1个Flask实例 @app.route('/') #路由系统生成
def first_flask(): #视图函数
return 'Hello World' #response if __name__ == '__main__':
app.run() #启动socket
动态路由
@app.route('/<name>')
app=Flask(__name__) @app.route('/<name>') #设置url传参数
def first_flask(name): #视图必须有对应接收参数
print(name)
return 'Hello World' #response if __name__ == '__main__':
app.run() # 默认接收字符串类型参数
@app.route('/<int:age>')
#接收整型数字参数
app=Flask(__name__)
@app.route('/<int:age>/') #设置url传参数
def first_flask(age): #视图必须有对应接收参数
print(age)
return 'Hello World' #response if __name__ == '__main__':
app.run()
@app.route('/<float:salary>')
#接收浮点型型数字参数
app=Flask(__name__)
@app.route('/<float:salary>/') #设置url传参数
def first_flask(salary): #视图必须有对应接收参数
print(salary)
return 'Hello World' #response if __name__ == '__main__':
app.run()
@app.route('/<path:path>')
# 接收URL链接类型参数
app=Flask(__name__)
@app.route('/<path:url>/') #设置url传参数:http://127.0.0.1:5000/http://www.baiu.com/
def first_flask(url): #视图必须有对应接收参数
print(url)
return 'Hello World' #response if __name__ == '__main__':
app.run()
指定允许的请求方法
@app.route('/login', methods=['GET', 'POST'])
# 指定允许的请求方法
app=Flask(__name__)
@app.route('/<path:url>/',methods=['get']) #只允许get请求
def first_flask(url):
print(url)
return 'Hello World' #response if __name__ == '__main__':
app.run()
外部可访问的服务器,开启调试
--host=0.0.0.0 --port=5000