• Flask框架第五篇.Flask 中的路由


    1 endpoint

    Flask路由 https://www.cnblogs.com/DragonFire/p/9260295.html

    反向url地址,默认为视图函数名 (url_for)

    from flask import url_for
    ​
    @app.route("/info", methods=["GET", "POST"], endpoint="r_info")
    def student_info():
        print(url_for("r_info"))  # /info
        stu_id = int(request.args["id"])
        return f"Hello Old boy {stu_id}"  # Python3.6的新特性 f"{变量名}"

    2.flask中的路由

    rule       #"/login" 路由地址
    methods    #允许进入视图函数的请求方式
    endpoint   #路由地址和 endpoint之间的 -- 路由地址和视图函数Mapping endpoint在同一个app中不能出现重复,默认值是视图函数名
    defaults   #默认路由参数
    strict_slashes=False   #是否严格遵循路由匹配规则,默认是True
    redirect_to="/"        #永久重定向  308   301
    methods=["GET","POST","options"]  #八种请求方式
    #http八种请求方式
    get:向服务器请求指定的资源
    post:向服务器提交数据请求处理,数据被包含在请求中
    put:向服务器上传指定的数据
    delete:向服务器发送请求删除指定数据
    options:返回服务器对指定资源数据支持的HTTP请求方法,一般用于测试服务器功能的可用性
    head:返回服务器上对指定资源数据的HTTP请求头,在不需要返回全部数据的情况下测试指定功能大可用性
    track:回显服务器收到的请求,只要进行功能测试诊断
    connect:HTTP1.1协议中预留请求方式,可以将连接改为管道方式到的代理服务器

    3. 动态生成路由

    import os
    from flask import Flask, render_template, Markup, request, session, redirect, url_for, send_file
    ​
    app = Flask(__name__)
    # app.config["DEBUG"] = True
    app.debug = True
    app.secret_key = "!@#$%^(*&^%$#@#$%&*(^$WQ*(^EWET*^EWEU"
    ​
    ​
    @app.route("/get_music/<filename>")
    def get_music(filename):    #可以分页,获取文件,解决分类,解决正则路由问题
        filename = "1.mp3"
        filepath = os.path.join("music",filename)
        return send_file(filepath)
    ​
    @app.route("/get_img/<filename>")
    def get_img(filename):
        filepath = os.path.join("img", filename)
        return send_file(filepath)
    ​
    if __name__ == '__main__':
        app.run("0.0.0.0",9527)

     

  • 相关阅读:
    vue 组件轮播联动
    Echarts 解决饼图文字过长重叠的问题
    Echarts 背景渐变柱状图
    vue 组件间数据传递
    vue webpack build 打包过滤console.log()日志
    自定义字段排序
    vue 路由嵌套高亮问题
    微信小程序验证码获取倒计时
    解决小程序里面的图片之间有空隙的问题???
    axios使用
  • 原文地址:https://www.cnblogs.com/lilinyuan5474/p/15568859.html
Copyright © 2020-2023  润新知