在python里面探索web框架

2024-01-09 23:14:03

一、常识性知识

python Web框架三巨头:Flask(简单易学)、Django(复杂庞大)、FastAPI

1. Django:Django是一个高级的Web框架,它提供了强大的功能和工具,用于快速开发复杂的Web应用程序。

2. Flask:Flask是一个轻量级的Web框架,它具有简单的核心和可扩展的特性,适合用于快速开发小型Web应用程序和API。

3. Pyramid:Pyramid是一个灵活且可扩展的Web框架,它提供了许多不同的工具和库,可以根据需要进行定制

4. Tornado:Tornado是一个异步的Web框架,它适用于构建高性能的Web应用程序和API。

5. Bottle:Bottle是一个微型的Web框架,它非常适合用于构建小型的Web应用程序和API。

二、Flask简介

Flask是一个轻量级的Python Web框架,它由Werkzeug工具箱和Jinja2模板引擎构建而成。Flask的设计简单而灵活,它提供了一些核心功能,但也允许开发者根据需要选择并集成其他库和工具。

特点:

1. 简单易用:Flask的API设计简洁,学习曲线较低,使得开发者可以快速上手并开始开发Web应用程序。

2. 灵活性:Flask没有强制性的项目结构和组织方式,开发者可以根据自己的需求进行定制和扩展。

3. 轻量级:Flask本身的代码库相对较小,因此它可以被轻松地集成到现有的项目中,同时也能够快速启动和运行。

4. 扩展性:Flask提供了丰富的扩展库,可以用于添加各种功能,如数据库集成、用户认证、缓存等。

5. RESTful支持:Flask对RESTful API的开发提供了良好的支持,使得开发API变得简单和直观。

三、使用

新建web项目

?方式一、自己写一个项目,依赖导包,不推荐依赖太多了

方式二、但是整体下载速度慢

static:静态文件(网页资源文件):js、css

templates 模版引擎(页面)

app.py:相当于control启动类

开启bug

方式一:

?

方式二:

? '?debug=True'开启Debug模式(调试模式)让它跑起来run----不需要再重启服务,ctrl+s就自动加载内容,但是可能不会生效,因为根据不同编辑器来的,开启了不要去点这几处,否则又开好几个

?

运行会出它,代表进入调试模式

WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.

?

运行端口号-----5000?

分析app.py基本结构?

# 导入模块
from flask import Flask

# 导出应用实例---构建web应用
app = Flask(__name__)

# @app.route('/')访问路径   相当于java@RequestMapping("/"),
# /根目录
# 注:python没有重载,方法名不能同名,导致启动不了
@app.route('/')
def hello_world():
    return 'Hello World!'


# 如果当前运行的文件是它自己,就运行,因为可以把这个类导到别的文件上去,必须在当前文件夹运行
if __name__ == '__main__':
    app.run(debug=True)

使用装饰器将函数绑定到url----跳界面?

注:
@app.route('/')访问路径 ? 相当于java@RequestMapping("/"),
/根目录
python没有重载,方法名不能同名,导致启动不了?


@app.route('/')
def hello_world():
    return 'Hello World!'


@app.route('/hh')
def hhh():
    return 'sb'

效果:

文章来源:https://blog.csdn.net/m0_74276368/article/details/135481577
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。