加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

【Flask】路由系统

发布时间:2020-12-20 10:28:22 所属栏目:Python 来源:网络整理
导读:methods 当前视图支持的请求方法 from flask import Flask,render_templateapp = Flask(__name__)@app.route("/login",methods=["GET","POST"])def student_info(): return "Hello wWrd " 默认不写methods参数只支持GET请求,methods参数是我们重写里面的方法

methods

当前视图支持的请求方法

from flask import Flask,render_template
app = Flask(__name__)

@app.route("/login",methods=["GET","POST"])
def student_info():
    return "Hello wWrd "

默认不写methods参数只支持GET请求,methods参数是我们重写里面的方法,并不是追加

endpoint

路由映射-视图函数

from flask import Flask,render_template,redirect
app = Flask(__name__)

@app.route("/login","POST"],endpoint="log")
def student_info():
    return "Hello wWrd "

# 相当于给/login取了个别名,以后在视图函数中哪里用到该路径直接使用别名就可以解析到/login这个路径

例如:
@app.route(‘/index‘,methods=[‘GET‘,‘POST‘])
def index():
    return redirect("log")

defaults

默认参数 一旦默认参数存在 视图函数中必须有一个形参去接收 形参变量名必须与 defaults 中的一致

from flask import Flask,render_template
@app.route(‘/index‘,‘POST‘],defaults={‘id‘:2})
def index(id):   # 这个形参必须跟defaults的key保持一致
    print(id)  # 2
    return render_template(‘login.html‘)

strict_slashes

是否严格遵循路由匹配规则 "/"

from flask import Flask,strict_slashes=False)
def student_info():
    return "Hello wWrd "

# 默认遵守严格模式strict_slashes=True

在我们在浏览器上请求该路径时,如果输入的是下面的路径那么浏览器会自动为我们加上路径分隔符"/"

strict_slashes=False时无论后面有没有"/"都可以匹配的到

redirect_to

永久重定向,且不会经过视图函数

@app.route(‘/index‘,redirect_to=‘/login‘)
def index():
    return render_template(‘index.html‘)

动态参数路由

在请求路径中添加其他参数

?

from flask import Flask,redirect
app = Flask(__name__)

@app.route("/login/<args>/<int:num>",) # int表示必须是整型
def student_info(args,num):  # 形参的名字必须和路由的参数保持一致
    print(args,num)  # aaaa 2
    return "Hello word "
动态参数用 <> 包裹 
<> 内可以写为 <int:num> 这样的话。参数必须是给int类型,不然会报错
<> 内不写的话,默认为str

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读