https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)
引入装饰器,装饰器要放到@app.route()里面
比如说我这里直接返回“hello”,此时“hello”就会返回到前端去,就意味着视图函数的返回值就没有用了
将id动态地放到url里面 就可以查到id对应的case 例如http://127.0.0.1:5000/test/hello
from flask import Flask
# 编写了一个测试用例名称,我们测试返回的结果就是测试用例的名称
app = Flask(__name__)
#定义路由 <尖括号里面的可以改变> 将id动态地放到url里面 就可以查到id对应的case 例如http://127.0.0.1:5000/test/hello
@app.route('/test/' )
def get_case(id):
return f'{id}' #字符串格式化
if __name__ == '__main__':
app.run(debug=True)
from flask import Flask, request
# 编写了一个测试用例名称,我们测试返回的结果就是测试用例的名称
app = Flask(__name__)
#定义路由
@app.route('/test')
def get_case():
id = request.args.get("id")
return f'{id}' #字符串格式化
if __name__ == '__main__':
app.run(debug=True)
运行结果
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)
/test/和/test是两个不同的url
from flask import Flask
# 编写了一个测试用例名称,我们测试返回的结果就是测试用例的名称
app = Flask(__name__)
@app.route('/test2/')
def get_case():
return "有斜杠,输入url的时候加不加那个/都可以"
@app.route('/test1')
def get_case_1():
return "没有斜杠,输入的时候不可以有/"
if __name__ == '__main__':
app.run(debug=True)
至于加不加,演示一下就OK了
路由:url与视图函数的绑定关系 每个绑定关系都会单独命一个名字(这个东西就叫做端点)
app.url_map() 专门用来存储路由关系
from flask import Flask
# 编写了一个测试用例名称,我们测试返回的结果就是测试用例的名称
app = Flask(__name__)
print(app.url_map)
@app.route('/test')
def get_case():
return "有斜杠,输入url的时候加不加那个/都可以"
print(app.url_map)
if __name__ == '__main__':
app.run(debug=True)
如果项目比较大的话,比如有200个Url,就最好用集中注册机制,如果Url没几个,就用装饰器注册(@app.route())
app.add_url_rule('/a',view_func=get_case)
app.add_url_rule('/b',view_func=get_case_b)
@app.route()
from flask import Flask
# 编写了一个测试用例名称,我们测试返回的结果就是测试用例的名称
app = Flask(__name__)
print(app.url_map)
@app.route('/test',methods=['POST'],endpoint='tests')
def get_case():
return "有斜杠,输入url的时候加不加那个/都可以"
print(app.url_map)
if __name__ == '__main__':
app.run(debug=True)
@app.route(redirect_to='/')
from flask import Flask
# 编写了一个测试用例名称,我们测试返回的结果就是测试用例的名称
app = Flask(__name__)
@app.route('/')
def index():
return 'this is index'
print(app.url_map)
@app.route('/test',methods=['POST'],endpoint='tests',redirect_to='/')
def get_case():
print("判断一下这个函数有没有运行")
return "有斜杠,输入url的时候加不加那个/都可以"
print(app.url_map)
if __name__ == '__main__':
app.run(debug=True)
方法二:视图函数里面redirect()
from flask import Flask, redirect
# 编写了一个测试用例名称,我们测试返回的结果就是测试用例的名称
app = Flask(__name__)
# @app.route('/')
# def index():
# return 'this is index'
#
# print(app.url_map)
@app.route('/test',methods=['POST'],endpoint='tests')
def get_case():
print("判断一下这个函数有没有运行")
return redirect('/')
print(app.url_map)
if __name__ == '__main__':
app.run(debug=True)
视图函数 id=3
from flask import Flask, redirect
# 编写了一个测试用例名称,我们测试返回的结果就是测试用例的名称
app = Flask(__name__)
@app.route('/')
def index():
return 'this is index'
print(app.url_map)
@app.route('/test',methods=['GET'],endpoint='tests',defaults={'id':3})
def get_case(id):
print('11')
print(f'hello{id}')
return redirect('/')
print(app.url_map)
if __name__ == '__main__':
app.run(debug=True)
from flask import Flask, redirect
# from route_one.urls import *
# 循环导入的解决方案
# 想用的时候再导入
app = Flask(__name__)
# url应该是导入所有的代码,而不是某一个模块
from route_one.urls import *
if __name__ == '__main__':
app.run(debug=True)
urls.py
from route_one import views
from route_one.route_variable import app
app.add_url_rule('/',view_func=views.index)
app.add_url_rule('/cases',view_func=views.cases)
views.py
def index():
return 'this is index'
def cases():
return 'this is cases'
注意:
https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)