Flask简介、flask 创建和运行、fastapi

本文介绍了轻量级Python Web框架Flask,包括其依赖如Werkzeug、Jinja2和Click,并展示了Flask的创建、运行和调试模式。此外,还提及了Flask随着项目规模增长的扩展性和FastAPI这一高效的异步框架。
摘要由CSDN通过智能技术生成

Flask简介

python 主流的web框架
1.Django
2.fastapi:异步
3.flask

flask 是个微型的web框架,不像djagno那么庞大,django有很多内置app,缓存,信号,消息,权限,admin

flask 随着项目越来越大,使用第三方插件,越来越像django

模版渲染:jinja2
web服务器:Werkzeug WSGI

使用 装最新

pip3 install flask

  • 2.x
  • 3.x

写个小demo

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'flask'

if __name__ == '__main__':
    app.run()

flask 创建和运行

python 中的web 框架
  1. django:大而全,内置很多
  2. flask:小而精,几乎没有内置,都需要用第三方解决
  3. fastapi:异步框架,号称效率高
  4. Sanic
  5. Tornado
  6. web.py

flask 介绍

  1. Flask是一个用Python编写的Web应用框架。它由Armin Ronacher开发,他领导着一个名为Pocco的国际Python爱好者团队。Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。两者都是Pocco项目
  2. Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器
  3. “微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以),也不意味着 Flask 在功能上有所欠缺。微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。Flask 不会替你做出太多决策——比如使用何种数据库。而那些 Flask 所选择的——比如使用何种模板引擎——则很容易替换。除此之外的一切都由可由你掌握
  4. 默认情况下,Flask 不包含数据库抽象层、表单验证,或是其它任何已有多种库可以胜任的功能。然而,Flask 支持用扩展来给应用添加这些功能,如同是 Flask 本身实现的一样。众多的扩展提供了数据库集成、表单验证、上传处理、各种各样的开放认证技术等功能。Flask 也许是“微小”的,但它已准备好在需求繁杂的生产环境中投入使用
  5. Flask depends on the Werkzeug WSGI toolkit, the Jinja template engine, and the Click CLI toolkit(Flask依赖于Werkzeug WSGI工具包、Jinja模板引擎和Click CLI工具包)

Werkzeug WSGI-(socket服务端)

Werkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库。这里稍微说一下, werkzeug 不是一个web服务器,也不是一个web框架,而是一个工具包,官方的介绍说是一个 WSGI 工具包,它可以作为一个 Web 框架的底层库,因为它封装好了很多 Web 框架的东西,例如 Request,Response 等等

Werkzeug is a comprehensive WSGI web application library. It began as a simple collection of various utilities for WSGI applications and has become one of the most advanced WSGI utility libraries.
Werkzeug 是一个综合性 WSGI Web 应用程序库。它最初是 WSGI 应用程序的各种实用程序的简单集合,现已成为最先进的 WSGI 实用程序库之一。

Werkzeug doesn’t enforce any dependencies. It is up to the developer to choose a template engine, database adapter, and even how to handle requests
Werkzeug 不强制执行任何依赖关系。由开发人员选择模板引擎、数据库适配器,甚至如何处理请求

from werkzeug.wrappers import Request, Response
from werkzeug.serving import run_simple

@Request.application
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值