Flask route里面的参数

import json
import os
from flask import Flask,render_template,redirect,send_file,jsonify,url_for

app = Flask(__name__)
app.debug=True
@app.route('/index')
def index():
    # 返回值类型必须是字符串
    lis=[1,2,3]
    new_string = json.dumps(lis)
    return new_string

@app.route('/h1')
def h1():
    #返回一个模版
    return render_template('home.html')

@app.route('/h2')
def h2():
    #重定向
    return redirect('index')

@app.route('/getFile')
def getFile():
    #返回文件
    return send_file('阿瞎.jpg')

@app.route("/get_json")
def get_json():
    #返回json文件格式
    data={
        "name":"朱希博",
        "pwd":"123"
    }
    return jsonify(data)

#请求request,必须导入request
from flask import request

#endpoint用法:视图函数与路由的对应关系,endpoint不能重复
    #用法一:将名字复杂的函数名利用endpoint简单命名
    #此时因为endpoint定义命名后,当url_for反向访问(多用于页面之间跳转)时,只需要写 url_for(‘t’) 即可访问到该页面
    #用法二:最大的优点就是url_for反向访问地址时,是动态获取路由的,HTML动态获取路由
@app.route('/login_01')
def login():
    return render_template(url_for('login.html'))

@app.route('/show_test001',endpoint='t')
def show_test():
    return render_template('test_endpoint.html')


@app.route('/m',endpoint='ind_name')
def ind():
    print(url_for('ind_name'))
    return "<input type='text'>"


#redirect_to,只要访问/z路径,就会重定向到/m的路径页面去。 状态码:308(永远重定向)
#strict_slashes,如果我是strict_slashes=True。是否严格要求路由匹配规则
#defaults默认参数
@app.route("/z",endpoint='z',methods=["GET","POST"],redirect_to='/m',strict_slashes=True,defaults={'nid':123})
def z(nid):
    return "123".join(nid)

#动态参数:不限定路由地址类型,默认是string,如果定义int就只能传int类型的页
@app.route("/look/<int:page>")
def look(page):
    return f"当前是第{page}页来"

#动态参数:
@app.route("/look1/<string:page>")
def look1(page):
    return f"当前页是{page}"

@app.route("/look2/<int:page>_<int:row>_<int:row_2>")
def look2(page,row,row_2):
    return f"当前是第{page}页{row}行{row_2}行"


#动态参数应用场景:结合send_file
@app.route("/look3/<folder>/<filename>")
def look3(folder,filename):
    file_path = os.path.join(folder,filename)
    return send_file(file_path)


if __name__ == '__main__':
    app.run('127.0.0.1',9090)
原文地址:https://www.cnblogs.com/zhuxibo/p/14120608.html