路由和 HTTP 方法

默认情况下,路由仅响应 GET 请求。你可以通过向 route() 装饰器提供 methods 参数来更改此行为。

from flask import request

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        do_the_login()
    else:
        show_the_login_form()

你还可以根据使用的 HTTP 方法将不同的函数映射到同一个端点。

@app.route('/endpoint', methods=['GET'])
def get_endpoint():
    #respond to GET requests for '/endpoint'

@app.route('/endpoint', methods=['POST', 'PUT', 'DELETE'])
def post_or_put():
    #respond to POST, PUT, or DELETE requests for '/endpoint'