Flask03_路由传参

2023-11-05

# encoding=utf-8
"""
1、@app.route("/路由匹配/"):代表资源在服务器上的位置
(1)路由:Flask根据http请求的url在路由表中和定义好的进行匹配,找到对应的函数处理这个请求,此过程保存一个url到函数的映射关系称之为路由router
(2)Flask通过装饰器@app.route("路由后半部分")来定义,route内部代码会将其余前面的url拼接成一条完整的路由
(3)通过装饰器装饰在视图函数上,是指向视图函数的标志,用户可以通过url来访问,服务器通过url路由引导获取到:@app.route("/地址(一节)/")
(4)路由编写规则
    A、开头必须"/":强制规则,开头没有"/"是不合法的
    B、结尾添加"/":标准的url,类似文件夹,访问无"/"的url时,Flask会重定向,自动在结尾添加
    C、结尾没有"/":类似文件,访问添加了"/"的url时,会报404错误,可以保持url唯一,帮助搜索引擎避免重复索引同一页面
    D、路由是可以重复的
(5)根目录:网站服务启动的目录就是根目录
(6)对于视图函数,代表视图函数的路由;对于静态资源,代表放在服务器当前web服务的根目录的位置
2、视图函数
(1)视图是处理请求,返回响应的代码块,函数名字不能重名
(2)函数的名字与路由的名字可以不一致(一般为了简明,保持一致)
3、路由讲解
(1)route装饰器:装饰视图函数,更加方便、优雅地写应用的URL
    def route(rule, **options):
        def decorator(f):
            add_url_rule(rule, f.__name__, **options)
            view_functions[f.__name__] = f
            return f
        return decorator
    A、首先会调用add_url_rule 法,将装饰器中的URL规则添加进Map实例中,视图函数的名字会作为endpoint进行传递
    B、在应用的view_functions中增加endpoint和视图函数的对应关系,可以在请求成功时方便地调用对应的视图函数
(2)add_url_rule
    def add_url_rule(rule, endpoint, **options):
        options['endpoint'] = endpoint
        options.setdefault('methods', ('GET',))
        url_map.add(Rule(rule, **options))
    A、用来添加url与视图函数的映射,默认会使用view_func的名字作为endpoint,可以将URL和视图函数关联起来
    B、使用url_for时,要看映射时的endpoint参数,只要传递一条规则rule和一个endpoint即可
    C、可以传递一些关键字参数:路由rule、访问点endpoint、视图函数func
    D、调用方法后,会调用Map实例的add方法,会将URL规则添加进Map实例中
    >> app.add_url_rule(rule=路由,view_func=视图函数,endpoint=访问点)
(3)访问点endpoint:做反向解析
    A、视图函数中关于url_map视图的映射应该是:[url->methods->endpoint]
    B、methods=["POST","GET"]):methods用来限制请求方式
    C、利用url_map找到所请求URL对应的endpoint访问点(通过url地址映射到端点endpoint),利用view_functions表(默认空字典,存储endpoint:view_func键值对)查找到访问点对应的视图函数,最终匹配到函数,执行响应的功能函数
    D、一个实例对象app的本质过程是通过url先找到endpoint的值(url_map映射),然后endpoint在字典view_functions中找到视图函数view_func,同一实例对象app中试图函数名可以相同,但endpoint不能相同
    E、url_map:维护URL规则和endpoint的映射
    F、view_functions={键:值}:维护endpoint和视图函数的映射
    G、默认访问点:使用route装饰器注册路由时,默认使用被装饰函数的 函数名作为访问点
    H、自定义访问点:在使用route装饰器或调用add_url_rule()方法注册路由时,使用endpoint关键字参数可以改变默认行为
    I、app.add_url_rule("/index2/<int:yy>",view_func=index2):Flask中只有有名分组,yy用于接收参数
    app.add_url_rule("/", view_func=index,endpoint="index12333444",methods=["POST","GET"])
    def index1():
        print(url_for("index12333444"))
        return "123"
    app.add_url_rule("/index1",view_func=index1,strict_slashes=False,redirect_to="/index2")
    def index2(yy):
        print(yy)
        return "123445"
    #只有有名分组
    app.add_url_rule("/index2/<int:yy>",view_func=index2)
    if __name__ == '__main__':
        app.run()
(4)变量规则
    A、通过把url的一部分标记为<variable>就可以在url中添加变量,标记的部分会作为关键字参数传递给函数
    B、通过使用<converter:variable>,可以选择性的加上一个转换器,为变量指定规则
        from markupsafe import escape
        @app.route('/user/<user>')
        def show_user(user):
            return f'escape转变:{escape(user)}'
4、Restful URL
(1)Restful URL可以看做是对URL参数的替代,得到的变量默认为str对象
(2)内置转换机制可以在route中指定转换类型,传递的数据类型若与指定类型不同时,会得到404丢失页面响应
(3)内置转换机制支持int整数、float浮点数、path路径类型数据
(4)定义转换器
    A、自定义的转换器是一个继承werkzeug.routing的BaseConverter类
    B、to_python方法用于将url中的变量转换后供被@app.route包装的函数使用,返回值会传递到view函数中作为参数
    C、to_url方法用于flask.url_for中的参数转换,返回值会调用url_for函数的时候生成符合要求的url形式
    D、app.url_map属性:是一个定义在werkzeug.routing模块中的Map类,为了给应用增加一些URL规则,生成对应的正则表达式进行URL匹配
    E、app.url_map.converters['自定义规则名称'] = 自定义转换器类,将自定义的类映射到app.url_map.converters
(5)路由正则
    A、写类,继承BaseConverter
    B、注册:app.url_map.converters['regex'] = RegexConverter
    C、使用:@app.route('/index/<regex("\d+"):nid>'),正则表达式会当作第二个参数传递到类中
    from flask import Flask, views, url_for
    from werkzeug.routing import BaseConverter
    app = Flask(import_name=__name__)
    # 自定义URL匹配正则表达式
    class RegexConverter(BaseConverter):
        def __init__(self, map, regex):
            super(RegexConverter, self).__init__(map)
            self.regex = regex
        # 路由匹配时,匹配成功后传递给视图函数中参数的值
        def to_python(self, value):
            print("to_python",type(value),value)
            return int(value)
        # 使用url_for反向生成URL时,传递的参数经过该方法处理,返回的值用于生成URL中的参数
        def to_url(self, value):
            print("to_url", type(value), value)
            val = super(RegexConverter, self).to_url(value)
            return val+"123"
    # 添加到flask中
    app.url_map.converters['regex'] = RegexConverter
    @app.route('/index/<regex("\d+"):nid>')
    def index(nid):
        print("nid",type(nid),nid)
        print(url_for('index', nid='888'))
        return 'Index'
    if __name__ == '__main__':
        app.run()
5、url_for(视图函数名,传递参数值)反转视图函数
(1)用于构建指定函数的url
    A、把函数名称作为第一个参数
    B、可以接受任意个关键字参数,每个关键字参数对应url中的变量
    C、未知变量将添加到url中作为查询参数
    D、url反转:根据视图函数名称得到当前所指向的url
(2)为什么不写死,而是反转

(1)构建url原理
    A、使用endpoint通过反向机制构建URL路径,可以以软编码的形式生成url,提供开发效率
    B、最简单的用法是以视图函数名作为参数,返回对应的url
    C、若想要完整的URL,可以设置_external为Ture
        url_for('static',_external=True)
(2)加载访问静态文件:指定目录下static文件,使用/static访问
    文件存储在static/style.css
    url_for('static', filename='style.css')
(3)指定函数构造URL
    A、接受函数名作为第一个参数
    B、接受URL规则中对应的变量作为参数
    C、未知变量部分会添加到URL末尾?后作为查询参数
(4)构建URL而不是拼URL的原因
    A、反向构建通常比硬编码的描述性更好:允许一次性修改URL
    B、URL构建会转义特殊字符和Unicode数据
    C、若应用不位于URL根路径,url_for()会进行妥善处理(不是/,而是/myapp)
(5)总结简述
    A、视图函数:参数是endpoint,默认函数名view_func和端点endpoint相同(要反转的url就是视图函数所在路由)
    B、传递参数:传入在路由中已经定义的参数,路由直接拼接;传入在路由中没有定义的参数,会以查询字符串('?参数名=参数值')的形式反转出来
    C、如果修改url,并不修改url对应的函数名,就不用到处去替换url;url_for会自动处理特殊字符,不需要手动处理
    D、示例:url_for('static',_external=True,filename='imgs/test.png')
        返回的url是 http://localhost/static/imgs/test.png
(6)附带参数讲解
    A、endpoint:URL的端点(默认函数名view_func)
    B、values:URL的变量参数
    C、_external:设置为True则生成一个绝对路径URL
    D、_scheme:一个字符串指定所需的URL方案(_external必须为True,否则抛出ValueError)
    E、_anchor:给URL添加一个mao
    F、_method:显示地调用HTTP方法
(9)url_for和redirect区别
    A、url_for用来拼接url:可以使用程序url映射中保存的信息生成url
    B、url_for()函数最简单的用法是以视图函数名作为参数,返回对应的url
        调用url_for('index')得到的结果是:index视图的路由"/"
    C、redirect是重定向函数,输入一个url后,自动跳转到另一个url所在的地址
(10)test_request_context()告诉Flask正在处理一个请求,并没有真正的请求
    with app.test_request_context():
        print(url_for('index'))
        print(url_for('login'))
        print(url_for('login', next='/'))
        print(url_for('profile', username='John Doe'))
6、动态路由介绍
(1)Flask根据HTTP请求的URL在路由表中匹配定义好的路由规则,找到对应的函数处理请求,查询路由表的这个过程需要一个URL到函数的映射关系,这个映射关系就称之为路由
(2)路由和函数需要的名称可以不对应,对应是为了提高可读性
(3)路由不可以合并,每个路由都是一个装饰器,被装饰的函数,为视图函数,名称不可以重复
(4)由app.route方法安装装饰器语法定义,flask的路由必须有/,否则会报ValueError的错误
(5)网站开发时,访问内容变化,路由随之变化,网站的资源也会随之变化
(6)可以通过路由修改查询的内容,本身可以把接收数据中的一部分传递给视图函数
(7)前端部分可以通过页面的a标签的href属性指向目的路由去跳转页面
(8)在路由上,变量数据是由<>包围的部分,匹配到的内容会作为参数传递给视图函数(名称一致)
(9)Flask路由需要使用装饰器的形式定义,路由定义必须以’/’ 开头
7、路由传参(动态路由)
(1)将路由参数中的部分数据使用<>包含,可以传递参数
(2)/<string:data>/字符串(默认):数字、字符串-->字符串类型
(3)/<int:data>/整数:整数-->整数类型
(4)/<float:data>/浮点数:浮点数-->浮点数类型
(5)/<path:data>/路径:路径(多/分割)-->字符串类型
(6)/<uuid:data>/uuid:唯一标识符-->uuid字符串
"""
# 导入模块
from flask import Flask

# 创建web服务器(http)实例:内置方法__name__是预定义变量,被设置为使用本模块,html存放的路径,静态文件的路径
app = Flask(__name__)

# route装饰器装饰视图函数
@app.route("/default")
# 视图(编写功能)
def default():
    # 访问页面的时候,这一部分会作为参数传入视图函数,默认数据类型是字符串
    return '默认不传数据'


# route装饰器装饰视图函数
@app.route("/point", endpoint='自定义访问点')
# 视图(编写功能)
def point():
    # 访问页面的时候,这一部分会作为参数传入视图函数,默认数据类型是字符串
    return '设定访问点'


# 整数类型参数限制,浏览器地址输入整数时传递
@app.route("/index/<int:age>/")
def int_demo(age):
    # 访问页面的时候,数据类型会自动将参数转换成整数类型
    return f'查询年龄:我{age}岁了'


# 字符串类型参数限制,浏览器地址输入整数时传递(默认传递类型)
@app.route("/index/<string:name>/")
def string_demo(name):
    # 访问页面的时候,数据类型会自动将参数转换成字符串
    return f'查询姓名:我叫{name}'


# 浮点数类型参数限制,浏览器地址输入浮点数时传递
@app.route("/index/<float:weight>/")
def float_demo(weight):
    # 访问页面的时候,数据类型会自动将参数转换成浮点数
    return f'查询体重:我{weight}千克'


# 路径类型参数限制(可以有多个"/"),浏览器地址输入整数时传递
@app.route("/index/<path:location>/")
def path_demo(location):
    # 访问页面的时候,数据类型会自动将参数转换成路径
    return f'查询地址:我来自{location}'


# uuid是一种号称在世界范围内唯一的编码
@app.route("/index/<uuid:id>/")
def uuid_demo(id):
    # 访问页面的时候,数据类型会自动将参数转换成uuid
    return f'查询唯一标识:我的唯一标识是{id}'

@app.route("/test/enumerate")
def enumerate():
    print("直接返回循环数据")
    for i in "abc":
        print(i)

    print("返回循环的数据和索引")
    for i in enumerate("abc"):
        print(i)

    print("去掉双引号数据和索引")
    for i, j in enumerate("abc"):
        print(i, j)

    print("索引值设定(从1开始)")
    for i, j in enumerate("abc", 1):
        print(i, j)
    return "enumerate返回值检测完毕~"

@app.route("/test/locals")
def hi():
    a = 1
    b = 2
    hi = 3
    print("hi--",locals())
    # 参数组解包,将当前函数所有的局部变量传入
    hello(**locals())

@app.route("/test/kwargs")
def hello(**kwargs):
    print("hello 函数")
    print("hello--",kwargs)

# 启动项目服务器--可以通过参数更改,通常网站的页面需要放到网站服务器上,用户无法双击打开
if __name__ == '__main__':
    app.run(
        # host:主机地址
        host="localhost",
        # port:访问端口
        port=80,
        # debug:调试模式,测试环境True,生产环境Fasle
        debug=True,
        # use_reloader:自动重启
        use_reloader=True
    )

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask03_路由传参 的相关文章

  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 如何自定义sort函数中的比较函数

    在做剑指offer时 有一道题 题目描述 输入一个正整数数组 把数组里所有数字拼接起来排成一个数 打印能拼接出的所有数字中最小的一个 例如输入数组 3 32 321 则打印出这三个数字能排成的最小数字为321323 思路 自定义比较器 若a
  • TensorFlow在MNIST中的应用-无监督学习-自编码器(autoencoder)和encoder

    参考 TensorFlow技术解析与实战 TensorFlow上实现AutoEncoder自编码器 前面讲到的都是有监督学习 他的重要特征是数据都是有标记的 无标记的数据应该用什么样的网络模型来学习呢 这里用一个叫做 自编码网络 的网络模型
  • 同步和异步的区别

    同步 进程之间的关系不是相互排斥临界资源的关系 而是相互依赖的关系 进一步的说明 就是前一个进程的输出作为后一个进程的输入 当第一个进程没有输出时第二个进程必须等待 具有同步关系的一组并发进程相互发送的信息称为消息或事件 其中并发又有伪并发
  • c语言如何判断数据是否符合正态分布_统计学-1:判断数据是否满足正态分布

    1 正态分布的定义 正态分布 The Normal Distribution 假设一随机变量X服从一个期望为 方差为 的正态分布 概率密度函数为 则可记为 import 1 正态分布为什么常见 真正原因是中心极限定理 Central Lim
  • Linux 的性能调优的思路

    Linux操作系统是一个开源产品 也是一个开源软件的实践和应用平台 在这个平台下有无数的开源软件支撑 我们常见的apache tomcat mysql等 开源软件的最大理念是自由 开放 那么Linux作为一个开源平台 最终要实现的是通过这些
  • offset client style 之间的区别

    offset 返回一个指向最近的 closest 指包含层级上的最近 包含该元素的定位元素 如果没有定位的元素 则 offsetParent 为最近的 table元素对象或根元素 标准模式下为 html quirks 模式下为 body 父
  • 【状态估计】电力系统状态估计的虚假数据注入攻击建模与对策(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 文献来源 文献分享阅读 我用夸克网盘分享了
  • mysql alter字段,mysql alter 语句用法,添加、修改、删除字段

    mysql alter 语句用法 添加 修改 删除字段 主键 alter table tabelname add new field id int 5 unsigned default 0 not null auto increment a
  • Spark报错解决:org.apache.spark.SparkException: Task failed while writing rows.at org.apache.spark.sql.ex

    文章目录 报错信息 解决方法 报错信息 报错信息很长 这里截取了最先的一个错误信息 发现是写入文件时出错 Caused by org apache spark SparkException Job aborted due to stage
  • 数仓 面试题(离线)实战解答

    无意间翻到以前的数仓面试题 今天把它整理出来 方便你我他 数仓分层 为什么要对数仓进行分层 1 说说对数据仓库的理解 数据仓库是面向主题进行组织的 数据是集成的 不可更新的 随时间变化的的 数据仓库经历了这样三个阶段 简单报表阶段 数据集市
  • Go语言中如何在range循环中修改数组/切片内容

    在go语言中 我们经常会使用到range来帮助我们遍历一些数据 通常情况下都是查看操作多一些 但是当我们需要对其原地址上的内容进行变更时 通常都是使用 for i 0 i
  • mac下统计代码行数方法

    使用cloc工具统计 1 首先在终端执行命令下载cloc brew install cloc 没有brew的先下载brew 这个后面写一个 这里先占位 2 cloc使用 进入想要查询的项目文件夹 然后执行下面的命令查询 cloc 如下图所示
  • 【深入理解C++】调用父类的拷贝构造函数

    文章目录 1 默认的拷贝操作 2 调用父类的拷贝构造函数 3 用子类对象初始化父类对象 1 默认的拷贝操作 默认情况下 继承体系下类对象的拷贝是每个成员变量逐个拷贝 include
  • 下采样方法

    AntiAliasInterpolation2d代码解读 注记 最近在看一些视频驱动的代码时 常见一种特殊的下采样方法 故在这里记录一下 Class AntiAliasInterpolation2d nn Module 初始化 def in
  • 两个有序序列的中位数 (25 分)

    已知有两个等长的非降序序列S1 S2 设计函数求S1与S2并集的中位数 有序序列A 0 A 1 A N 1 的中位数指A N 1 2 的值 即第 N 1 2 个数 A 0 为第1个数 输入格式 输入分三行 第一行给出序列的公共长度N 0
  • Hive 中常用的查询语句解读及应用(分组、Join、排序语句)

    文章目录 Hive 中常用的查询语句 2 分组 2 1 Group By 语句 2 2 Having 语句 3 Join 语句 3 1 等值 Join 3 2 表的别名 3 3 内连接 3 4 左外连接 3 5 右外连接 3 6 满外连接
  • mysql数据库使用between and 的不包含右边界问题

    最近在公司经常支持业务部门数据提取 遇到了一个提取时间间隔的问题 想到了between and比较方便 之前经常用这个关键字 但是从来没思考过它的边界问题 所以趁这次研究了一下 废话不多说 直接上例子 select from user se
  • 【机器学习】支持向量机SVM及实例应用

    机器学习 支持向量机 1 分类超平面与最大间隔 2 对偶问题与拉格朗日乘子法 3 核函数 4 软间隔与正则化 5 实例应用 python使用支持向量机SVM 准备 数据集 导入SVM模块 步骤 1 读取数据集 2 划分训练样本与测试样本 3
  • cool使用es教程

    cool使用es教程 安装es8 1 0 将elasticsearch head文件运行至浏览器插件可以看到运行情况 安装ik分词器 将目录名称改名放置es安装目录plug目录 版本一定cool5 安装es8 1 0 官网 github下载
  • Flask03_路由传参

    encoding utf 8 1 app route 路由匹配 代表资源在服务器上的位置 1 路由 Flask根据http请求的url在路由表中和定义好的进行匹配 找到对应的函数处理这个请求 此过程保存一个url到函数的映射关系称之为路由r