路由可以定义相同的名字,方法不一样,post登录,get获取,
但是视图函数名不可以一样。如果视图函数定义同名,报错:
1、查询所有路由
2、同一路由装饰多个视图函数,只是方法不同
3、同一视图多个路由装饰器
4、使用url_for进行反解析
url_for(‘视图函数的名字字符串’)返回路由字符串
访问url:
http://127.0.0.1:5000/user/login1
http://127.0.0.1:5000/user/login2
5、路由转换器
参考网址:
https://dormousehole.readthedocs.io/en/latest/quickstart.html#id6
默认提供的转换器类型:
from flask import Flask, redirect, url_for
app = Flask(__name__)
@app.route('/hello')
def hello_world():
return 'Hello World!'
@app.route('/hehe')
def index():
return '跳转到首页'
@app.route('/login', methods=['GET'])
def login_ui():
return '跳转到登录页面'
@app.route('/login', methods=['POST'])
def login_action():
return '接收参数,处理登陆'
@app.route('/t1')
def t1():
#获取 index 函数的路由
url = url_for('index')
print(url)
return redirect(url)
@app.route('/t2')
def t2():
url = url_for('index')
print(url)
return redirect(url)
@app.route('/user/<uid>', methods=['DELETE'])
def delete_by_id(uid):
print(uid,type(uid))
return '{}删除功能'.format(uid)
@app.route('/user/<int:uid>', methods=['GET'])
def select_by_id(uid):
print(uid,type(uid))
return '{}查询功能'.format(uid)
if __name__ == '__main__':
print(app.url_map)
app.run(debug=True)