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

相关推荐
Yupureki27 分钟前
从零开始的C++学习生活 9:stack_queue的入门使用和模板进阶
c语言·数据结构·c++·学习·visual studio
小年糕是糕手1 小时前
【数据结构】单链表“0”基础知识讲解 + 实战演练
c语言·开发语言·数据结构·c++·学习·算法·链表
半夏知半秋1 小时前
lua对象池管理工具剖析
服务器·开发语言·后端·学习·lua
小叮当⇔2 小时前
PYcharm——获取天气
ide·python·pycharm
浪裡遊2 小时前
MUI组件库与主题系统全面指南
开发语言·前端·javascript·vue.js·react.js·前端框架·node.js
霍志杰2 小时前
记一次csv和xlsx之间的转换处理
python
CoookeCola2 小时前
Google Landmarks Dataset v2 (GLDv2):面向实例级识别与检索的500万图像,200k+类别大规模地标识别基准
图像处理·人工智能·学习·目标检测·计算机视觉·视觉检测
syt_biancheng2 小时前
C++ 多态(1)
jvm·c++·学习
测试19982 小时前
Jmeter是如何实现接口关联的?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·接口测试
ue星空2 小时前
逆向分析光与影:33号远征队使用的UE技术栈
笔记·学习