Flask路由和HTTP请求方式处理

版权声明:尊重他人劳动成果,转载请注明出处 https://blog.csdn.net/qq_41432935/article/details/81743512

路由

使用route()装饰器将函数绑定到URL。

@app.route('/')
def index():
    return 'Index Page'

@app.route('/hello')
def hello():
    return 'Hello, World'

您也可以将URL的一部分动态化并将多个规则附加到函数

变量规则

您可以通过使用标记部分向URL添加变量部分 <variable_name>。然后,您的函数将接收<variable_name> 作为关键字参数。或者,您可以使用转换器指定参数的类型<converter:variable_name>

@app.route('/user/<username>')
def show_user_profile(username):
    # show the user profile for that user
    return 'User %s' % username

@app.route('/post/<int:post_id>')
def show_post(post_id):
    # show the post with the given id, the id is an integer
    return 'Post %d' % post_id

@app.route('/path/<path:subpath>')
def show_subpath(subpath):
    # show the subpath after /path/
    return 'Subpath %s' % subpath

转换器类型:

类型 说明
string (默认值)接受任何没有斜杠的文本
int 接受正整数
float 接受正浮点值
path 可接受字符串或者带斜杠的文本
uuid 接受UUID字符串

URL构建

路由生成:{{ url_for(“模块名.视图名”) }}
url重定向: redirect(‘/home/login’)
redirect(url_for(“home.home_login”))

HTTP方法

默认情况下,路由仅响应get请求,可以使用route()装饰器中methods参数来处理不同的HTTP方法

from flask import request

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

猜你喜欢

转载自blog.csdn.net/qq_41432935/article/details/81743512