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

相关推荐
2401_832131952 分钟前
Python单元测试(unittest)实战指南
jvm·数据库·python
vx_BS8133035 分钟前
【直接可用源码免费送】计算机毕业设计精选项目03574基于Python的网上商城管理系统设计与实现:Java/PHP/Python/C#小程序、单片机、成品+文档源码支持定制
java·python·课程设计
gzxx2007sddx41 分钟前
windows vnpy运行过程及问题记录
python·量化·vnpy
星火开发设计1 小时前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
算法_小学生1 小时前
LeetCode 热题 100(分享最简单易懂的Python代码!)
python·算法·leetcode
Gorgous—l1 小时前
数据结构算法学习:LeetCode热题100-多维动态规划篇(不同路径、最小路径和、最长回文子串、最长公共子序列、编辑距离)
数据结构·学习·算法
230万光年的思念1 小时前
【无标题】
python
shengli7222 小时前
机器学习与人工智能
jvm·数据库·python
2301_765703142 小时前
Python迭代器(Iterator)揭秘:for循环背后的故事
jvm·数据库·python
Hello_Embed2 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus