一、常识性知识
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'
效果: