Flask 学习笔记.2
一、路由
1.认识路由
首先路由是自上而下的判断
from flask import Flask
app=Flask(__name__)
@app.route('/') #路由 url http://127.0.0.1:5000的根目录
def index() #视图函数 view
return "hello world"
if __name__ == '__main__':
#最好启动之前设置端口号
app.run(host='0,0,0,0',port=8000) #这里可以手动设置host,设为‘0.0.0.0’时候可以由外界访问(非本机)
route实际实现:
@app.route(’/’) 这个装饰器其实就是将rule字符串跟试图函数绑定,源码是通过add_url_rule()实现绑定的
2.路由变量
路由除了可以使用字符串绑定以外,还还可以设置变量绑定
PS: 要注意默认是字符串,如果加上str会报错
@app.route('/str/<key>')
def getstr(key): # 参数必须添加
print(key)
return data.get(key)
#不能返回int类型,只能返回tulp、string、dict、Response,或者WSGI 可以调用类型
@app.route('/getint/<int:num>')
def getstr(num):
print(num)
return str(num)
#传递uuid
#传入<class uuid.UUID>类型
@app.route('/getint/<uuid:uid>')
def getstr(uid):
print(uid)
return str(uid)
3.URL兼容
#当路由不带斜杠的,
#在网页中输入 127.0.0.1/test 时候可以找到网页
#在网页中输入 127.0.0.1/test/ 时候无法找到网页
@app.route('/test') #这个是不带斜杠的
def getstr(): # 参数必须添加
print('test')
return 'test'
#当路由带斜杠的,
#在网页中输入 127.0.0.1/test 时候可以找到网页,浏览器会进行重定向 定向到127.0.0.1/test/
#在网页中输入 127.0.0.1/test/ 时候可以找到网页
@app.