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数据的具体应用(无校验版)

相关推荐
飞翔的佩奇3 小时前
【完整源码+数据集+部署教程】骰子点数识别图像实例分割系统源码和数据集:改进yolo11-DCNV2
python·yolo·计算机视觉·数据集·yolo11·骰子点数识别图像实例分割
lingggggaaaa3 小时前
小迪安全v2023学习笔记(七十八讲)—— 数据库安全&Redis&CouchDB&H2database&未授权&CVE
redis·笔记·学习·算法·安全·网络安全·couchdb
Source.Liu3 小时前
【Python基础】 13 Rust 与 Python 注释对比笔记
开发语言·笔记·python·rust
qq_195551693 小时前
代码随想录70期day3
开发语言·python
JosieBook3 小时前
【SpringBoot】21-Spring Boot中Web页面抽取公共页面的完整实践
前端·spring boot·python
Jayyih3 小时前
嵌入式系统学习Day29(tcp)
网络·学习·tcp/ip
UrbanJazzerati4 小时前
掌握 xlwings 的 used_range:高效处理 Excel 数据区域
python·面试·excel
XerCis4 小时前
Python的RSS/Atom源解析库feedparser
开发语言·python
g_i_a_o_giao4 小时前
Android8 binder源码学习分析笔记(一)
android·java·笔记·学习·binder·安卓源码分析