1、flask 轻量级微型web框架
优点:微框架、简单、可扩展
将flask变量实例化到app变量中
如果想要flask自动加载修改后的代码,要app.run(debug=True)
2、路由和视图函数
# 动态路由(对应多个不一样的地址),定义路由的变量名的时候,一定与参数名对应,否则会引发异常
@app.route('/user/<username>')
# 把username作为参数传到函数中
def user(username):
return 'User %s' % username
# 参数为整型变量
@app.route('/user/<int:user_id>')
def user(user_id):
return 'User %d' % user_id
<> 里面称为路由转换器,flask提供三种转换器:
int-整型, float-浮点型, path-路径
可以自定义正则表达式的路由验证规则的转换器
from werkzeug.routing import BaseConverter
class Regexconverter(BaseConverter):
def __init__(self,url_map, *items):
super(Regexconverter,self).__init__(url_map)
self.regex = items[0]
# 将flask变量实例化到app变量中
app = Flask(__name__)
app.url_map.converters['regex'] = Regexconverter
@app.route('/user/<regex("[a-z]{3}"):user_id>')
def user(user_id):
return 'User %s' % user_id
#要flask自动加载修改后的代码,要app.run(debug=True)
if __name__ == '__main__':
app.run(debug=True)