1.为视图绑定多个URL
@app.route('/hi')
@app.route('/hello')
def say_hello():
return '<h1>Hello,Flask</h1>'
2.添加URL变量
@app.route('/greet/<name>')
def greet(name):
return '<h1>Hello,%s</h1>' % name
因为URL中可以包含变量,所以将传入app.route()的字符串称为URL规则,而不是URL。FLask会解析请求并把请求的URL与视图函数的URL规则进行匹配。如果URL规则中需要有变量传入,但请求的URL并没有传入变量,则会响应404错误。但是可以在@app.route()装饰器里使用defaults参数设置URL变量的默认值,这个参数接收字典作为输入,存储URL变量和默认值的映射。
@app.route('/greet', defaults={'name':'Programmer'})
@app.route('/greet/<name>')
def greet(name):
return '<h1>Hello,%s</h1>' % name
#等同于以下代码
@app.route('/greet')
@app.route('/greet/<name>')
def greet(name='Programmer'):
return 'Hello,%s' % name