python flask 路由规则
时间: 2023-09-18 12:16:27 浏览: 71
flask-jwt-router:Flask JWT Router是一个Python库,可向Flask应用添加授权的路由
Flask中的路由规则定义了浏览器请求何时应该与哪个视图函数进行匹配。以下是一些常见的路由规则:
1. 常规路由规则
```python
@app.route('/hello')
def hello():
return 'Hello, World!'
```
在上面的代码中,`/hello`是路由规则,它将匹配网站的根目录后面跟着`/hello`的任何请求,并调用`hello`函数来处理它。
2. 动态路由规则
```python
@app.route('/user/<username>')
def show_user_profile(username):
return 'User %s' % username
```
这个路由规则将匹配网站根目录后面跟着`/user/`的任何请求,并将`<username>`作为变量传递给`show_user_profile`函数。例如,如果请求的URL是`/user/john`,`username`变量将被设置为`"john"`。
3. 指定HTTP方法
```python
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
return do_the_login()
else:
return show_the_login_form()
```
这个路由规则将匹配网站根目录后面跟着`/login`的任何请求,但只有当请求方法是`GET`或`POST`时才会匹配。如果请求方法是`POST`,则调用`do_the_login`函数来处理它,否则调用`show_the_login_form`函数。
4. 指定URL参数类型
```python
@app.route('/user/<int:user_id>')
def show_user(user_id):
return 'User %d' % user_id
```
这个路由规则将匹配网站根目录后面跟着`/user/`的任何请求,并将`<user_id>`作为整数变量传递给`show_user`函数。如果请求的URL是`/user/42`,`user_id`变量将被设置为`42`。
5. 指定多个路由规则
```python
@app.route('/')
@app.route('/index')
def index():
return 'Index Page'
```
这个路由规则将匹配网站根目录或者跟着`/index`的任何请求,并调用`index`函数来处理它。
阅读全文