python + Flask模块学习 1 基础用法

目录

[Flask 的主要作用](#Flask 的主要作用)

常用扩展

[Flask 基本用法](#Flask 基本用法)

[1. 安装 Flask(再安装个postman用来调试测试API哈](#1. 安装 Flask(再安装个postman用来调试测试API哈)

[2. 最小化应用示例](#2. 最小化应用示例)

[3. 运行应用](#3. 运行应用)


Flask 是一个轻量级的 Python Web 框架,它简洁灵活,适合快速开发 Web 应用和 API。它被称为 "微框架",因为它只提供核心功能(路由、模板引擎、请求处理等),不强制依赖特定工具或库,开发者可以根据需求自由选择扩展。

Flask 的主要作用

  1. 构建 Web 应用:处理 HTTP 请求、路由管理、页面渲染等
  2. 开发 API 接口:为前端、移动应用提供数据交互服务
  3. 快速原型开发:简单的语法和较少的配置让开发者能快速验证想法
  4. 轻量级服务:适合构建中小型应用或作为大型应用的一部分

常用扩展

Flask 本身功能精简,可通过扩展增强功能:

  • Flask-SQLAlchemy:数据库 ORM 工具
  • Flask-Login:用户认证管理
  • Flask-WTF:表单处理与验证
  • Flask-RESTful/Flask-RESTX:构建 REST API
  • Flask-Bootstrap:集成 Bootstrap 前端框架

可以通过我下面画的一张图去理解,本章就是主要将一个简单用法 后面结合这张图说拓展功能的运用

Flask 基本用法

1. 安装 Flask(再安装个postman用来测试哈

首先需要通过 pip 安装:

python 复制代码
pip install flask
2. 最小化应用示例

一个最简单的 Flask 应用只需要几行代码:

  • 当我们访问route中的路由时,会自动执行路由下方定义的方法,所以一般我们路由的命名会与方法名一致,比较方便
  • 注意默认路由响应的是GET请求,如果我们要处理的是POST请求可以通过methods方法去指定支持的http方法: (这个后面文章具体介绍
python 复制代码
@app.route('/login', methods=['GET', 'POST'])
  • 一般默认服务器配置是 http://127.0.0.1:5000,可以通过app.run(host='0.0.0.0', port=8080, debug=True)修改host和port的方式来指定自定义的服务器配置
python 复制代码
from flask import Flask

# 创建 Flask 应用实例
app = Flask(__name__)

# 定义路由和视图函数
@app.route('/api/hello')  # 当访问根路径时触发
def hello_world():
    return 'Hello,World!'

# 启动服务器
if __name__ == '__main__':
    app.run(debug=True)  # debug=True 开启调试模式,代码修改后自动重启
3. 运行应用
python 复制代码
python app.py
  • 运行之后可以清楚的看到terminal那边显示running on,表示运行程序成功
  • 到Postman上访问 http://127.0.0.1:5000/api/hello 即可看到 "Hello, World!"。

好玩的很! 看完赶紧去试试吧!,下篇讲如何接收用户传给我的参数包括GET/POST请求并返回json数据的具体应用(无校验版)

相关推荐
en-route几秒前
使用 Flask 构建 Web 应用:静态页面与动态 API 访问
前端·python·flask
尘似鹤1 分钟前
微信小程序学习(三)
学习
ZeroNews内网穿透1 分钟前
新版发布!“零讯”微信小程序版本更新
运维·服务器·网络·python·安全·微信小程序·小程序
尘似鹤2 分钟前
微信小程序学习(二)
学习·微信小程序·小程序
hrrrrb1 小时前
【Python】文件处理(二)
开发语言·python
万粉变现经纪人4 小时前
如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘tokenizers’ 问题
python·selenium·测试工具·scrapy·beautifulsoup·fastapi·pip
编程武士6 小时前
从50ms到30ms:YOLOv10部署中图像预处理的性能优化实践
人工智能·python·yolo·性能优化
我的xiaodoujiao6 小时前
Windows系统Web UI自动化测试学习系列2--环境搭建--Python-PyCharm-Selenium
开发语言·python·测试工具
傻啦嘿哟9 小时前
Python SQLite模块:轻量级数据库的实战指南
数据库·python·sqlite
Q_Q5110082859 小时前
python+django/flask+uniapp基于微信小程序的瑜伽体验课预约系统
spring boot·python·django·flask·uni-app·node.js·php