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

相关推荐
千寻xun8 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
researcher-Jiang9 小时前
高性能计算之OpenMP——超算习堂学习1
android·java·学习
夜雪一千9 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
能有时光9 小时前
PyTorch KernelAgent 源码解读 ---(4)--- ExtractorAgent
人工智能·pytorch·python
_Jimmy_10 小时前
Python 协程库如何使用以及有哪些使用场景
python
aqi0010 小时前
15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能
人工智能·python·大模型·ai编程·ai应用
第一程序员10 小时前
Rust Agent 子进程执行:Command 之前,先定义输入和超时
python·rust·github
skywalk816311 小时前
设计并实现段言的 C FFI 绑定机制 @Trae
c语言·开发语言·python·编程
weixin_BYSJ198711 小时前
SpringBoot + MySQL 乒乓球运动员信息管理系统项目实战--附源码04954
java·javascript·spring boot·python·django·flask·php
EQUINOX112 小时前
【论文阅读】| MoCo精读
论文阅读·人工智能·python·深度学习·机器学习