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
相关推荐
qq_4138474025 分钟前
HTML怎么限制输入字符数_HTML input maxlength属性用法【详解】
jvm·数据库·python
u0109147608 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
baidu_340998828 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_678485458 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
qq_342295828 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
TechWayfarer8 小时前
知乎/微博的IP属地显示为什么偶尔错误?用IP归属地查询平台自检工具3步验证
网络·python·网络协议·tcp/ip·网络安全
xiaotao1318 小时前
02-机器学习基础: 监督学习——线性回归
学习·机器学习·线性回归
Greyson18 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
justjinji8 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
小江的记录本8 小时前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全