Flask学习(一):flask程序入口(hello world)

Flask安装: pip install flask

创建第一个Flask程序:

python 复制代码
# 导入flask
from flask import Flask
​
# 创建flask实例 app
app = Flask(__name__)
​
# 通过装饰器的形式设置路由
# 路由装饰器将一个视图函数与一个 URL 路径关联起来。当访问该 URL 时,Flask 会调用与之关联的视图函数。
@app.route("/index")
def index():
    return'Hello World'
​
if __name__ == "__main__":
    # 执行app.run 本质是执行了run_simple('localhost',4000,hello)
    app.run()

run函数源码:

python 复制代码
# 定义参数的类型及相关默认值
def run(
    self,
    host: str | None = None,
    port: int | None = None,
    debug: bool | None = None,
    load_dotenv: bool = True,
    **options: t.Any,
) -> None: # python3.5及以后添加的功能(->None)用于指定函数参数和返回值的预期类型,虽然这些类型在运行时不会强制执行,但可以帮助开发者和其他阅读代码的人更好地理解代码的预期行为。
    
    ......
​
    from werkzeug.serving import run_simple
    # 其run函数本质执行的是run_simple
    try:
        # t.cast(str, host) 将host转换成str类型
        run_simple(t.cast(str, host), port, self, **options)
    finally:
        self._got_first_request = False
相关推荐
JaydenAI6 小时前
[FastMCP设计、原理与应用-14]FastMCP——架构之魂,构建MCP应用的统一入口与调度中枢
python·ai编程·ai agent·mcp·fastmcp
AIGC设计所6 小时前
网络安全SRC漏洞挖掘学习路线 - 第四期:常见漏洞挖掘实操,实现首次挖洞突破
开发语言·网络·学习·安全·web安全
尚雷55806 小时前
Oracle 核心体系架构学习系列一:从内存、进程到磁盘的底层逻辑学习
学习·oracle·架构
Andya_net6 小时前
网络安全 | 学习NAT44、NAT46、NAT64 与 NAT66原理
学习·web安全·php
2401_882273726 小时前
如何通过MongoDB GridFS实现文件的分块下载
jvm·数据库·python
weixin_580614006 小时前
CSS如何实现动态背景色线性渐变_利用CSS变量控制渐变方向
jvm·数据库·python
艾莉丝努力练剑6 小时前
【Linux网络】计算机网络入门:从背景到协议,理解网络通信基础
linux·运维·服务器·c++·学习·计算机网络
艾莉丝努力练剑6 小时前
【Linux线程】Linux系统多线程(十):线程安全和重入、死锁相关话题
java·linux·运维·服务器·c++·学习·安全
weixin_408717776 小时前
mysql如何查询所有列_mysql select星号性能分析
jvm·数据库·python
a9511416426 小时前
mysql权限表查询性能如何优化_MySQL系统权限缓存原理
jvm·数据库·python