Python考试题--第75道题目--静态路由和信息路由的差别,如何在Flask中怎样实现动态路由--2022年04月30日

原创
小哥 3年前 (2022-10-29) 阅读数 5 #大杂烩

目录

1.静态路由和动态路由的区别:

静态路由:path与路由功能的一对一对应

动态布线:多个path对应于相同的路由功能

2.操作代码演示示例:


1.静态路由和动态路由的区别:

路由:相当于导航,url path

静态路由:path与路由功能的一对一对应

动态布线:多个path对应于相同的路由功能

不管是哪一家被拜访url将执行相同的服务端路由功能。

2.操作代码演示示例:

第一部分:

初始化:全部Flask必须创建一个程序实例,

web服务器使用情况wsgi该协议将来自客户端的所有请求转发到该程序实例。

该程序实例是Flask对象的属性,通常按如下方式实例化:

Flask类只有一个必须指定的参数,即程序主模块或包的名称,__name__是引用此参数的系统变量py文件的文件名。

from flask import Flask
app = Flask(__name__)

第二部分:

路由和查看功能:

客户端发送url给web服务器,web服务器将url转发给flask程序实例,程序实例需要知道对于每个url请求启动该部分代码,因此保存一段代码。url和python功能映射。

处理url和程序的功能之间的关系,称为路由。

在flask定义路径的最简单方法是使用程序实例。app.route装饰者将装饰后的函数注册为路径。

# 静态路由
@app.route(/)
def index():
    return 

root

@app.route(/greet) def greet(): return hello everyone @app.route(/greet/bill) def greet_bill(): return 你好 bill # 动态路由 @app.route(/greet/) def arg1(name): return hello {}.format(name) @app.route(/greet///) def arg2(name1,name2,name3): return {}-{}-{}.format(name1,name2,name3) @app.route(/greet/--) def arg3(a1,a2,a3): return {}*{}*{}.format(a1,a2,a3)

第三部分:

使用程序实例。run方法启动flask融合发展web服务器

__name__ == __main__是python一种常见的方法,这意味着只有当您直接启动此脚本时。app.run方法

如果另一个脚本调用此脚本,则程序假定父脚本将启用不同的服务器,因此不必执行它。app.run()

服务器启动后,启动轮询,等待并处理请求。请求轮询,直到程序停止。

if __name__ ==__main__:
    app.run()
  • 如上面的代码所示,app是flask该函数用于接受来自的实例。web来自服务器的请求
  1. 浏览器将请求web服务器,web服务器将请求app ,
  2. app接收请求,通过路由找到对应的view函数,然后对请求进行处理得到响应。response
  3. 然后app返回响应web服务器,
  4. web服务器返回到浏览器,
  5. 浏览器被显示给用户以供查看,该过程完成。

执行结果:

执行此脚本后,将出现访问地址,即本地地址,端口号为:5000

将URL复制到浏览器并访问它。

动态路由的影响。

该程序还记录这些地址和访问时间:

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除