flask框架的路由写法
时间: 2023-10-12 17:14:22 浏览: 41
在Flask框架中,路由是指将HTTP请求映射到相应的处理器函数的过程。Flask提供了一个装饰器`@app.route()`来定义路由。路由可以包含变量,用尖括号`<variable>`表示。
下面是几个常见的路由写法:
1. 简单路由:
```python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
```
2. 带参数路由:
```python
from flask import Flask
app = Flask(__name__)
@app.route('/user/<username>')
def show_user_profile(username):
return 'User %s' % username
@app.route('/post/<int:post_id>')
def show_post(post_id):
return 'Post %d' % post_id
```
3. 多个路由指向同一个视图函数:
```python
from flask import Flask
app = Flask(__name__)
@app.route('/')
@app.route('/index')
def index():
return 'Hello, World!'
```
4. 使用HTTP方法限制路由:
```python
from flask import Flask, request
app = Flask(__name__)
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
# 处理登录逻辑
else:
return 'Please login'
```
5. 使用URL构建:
```python
from flask import Flask, url_for
app = Flask(__name__)
@app.route('/')
def index():
return 'Index Page'
@app.route('/login')
def login():
return 'Login Page'
with app.test_request_context():
print(url_for('index'))
# 输出:/
print(url_for('login'))
# 输出:/login
```
以上是Flask框架的常见路由写法,可以根据项目需要进行灵活使用。