当前位置: 首页 > news >正文

flask第一个应用

文章目录

  • 安装
  • 一、编程第一步
  • 二、引入配置
  • 三、代码解析


安装

python环境安装的过程就不重复赘述了,flask安装使用命令pip install Flask即可,使用命令pip show Flask查看flask版本信息
在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、编程第一步

在项目目录下新建一个app.py,写入内容如下

from flask import Flask# 创建app实例
app = Flask(__name__)# 定义路由
@app.route('/')
# 定义视图函数
def hello_world():# 返回响应return 'Hello, World!'# 启动服务
if __name__ == '__main__':# 运行app实例app.run(debug=True)

在我们的项目目录下执行命令python app.py可以看到下图所示,程序默认是在端口5000上运行的,如果需要使用其他端口可以把最后一行改为app.run('0.0.0.0', 8000, debug=True)
在这里插入图片描述
在这里插入图片描述

二、引入配置

上面我们跑起来的项目除了端口其他都是默认的,也没有类似数据库,session等配置信息,我们接下来在这个app.py里面加一些基本配置来适配我们的应用,配置参数都写在代码里面了

from flask import Flask, Blueprint
from flask import session
from flask_sqlalchemy import SQLAlchemy
from flask_redis import FlaskRedis# 创建app实例
def create_app(config_name):# 创建app实例app = Flask(__name__)# 加载配置app.config.from_object(config_name)app.secret_key = app.config['SECRET_KEY']# 设置缓存类型app.config['CACHE_TYPE'] ='redis'# 设置session类型app.config['SESSION_TYPE'] = 'redis'# 获取redis实例redis_client = FlaskRedis(app)@app.route('/about')def about():# 设置sessionsession['name'] = 'admin'redis_client.set('name', 'admin')# 获取sessionreturn f'about page session:{session.get("name")}, redis:{redis_client.get("name").decode('utf-8')}'# 定义路由@app.route('/home')def home():return "Hello, World!"# 404错误处理@app.errorhandler(404)def page_not_found(e):return 'This page does not exist', 404# 500错误处理@app.errorhandler(500)def internal_server_error(e):return 'Internal Server Error', 500# 返回app实例return appclass Config:# Debug模式DEBUG = True# SECRET_KEY 密钥SECRET_KEY = '631ada96b1246c6ca3a92ee8e85f5393734509313cdbc59f42527b433c5fe61d'# 数据库配置SQLALCHEMY_DATABASE_URI ='mysql://root:123456@localhost:3306/flask_demo'# 数据库配置, 禁用追踪修改SQLALCHEMY_TRACK_MODIFICATIONS = False# Redis配置# REDIS_URL ='redis://:123456@localhost:6379/0'REDIS_URL ='redis://localhost:6380/0'app = create_app(Config())if __name__ == '__main__':app.run('0.0.0.0', port=8000, debug=True)

在这部分代码里面我们配置了一个本地的mysql数据库,引入了蓝图和session SECRET_KEY密钥,定义了404和500的错误处理,这样我们基本可以实现一个小型项目的需求支持,安装mysql/redis命令可以用下面这些

# 安装 Flask-SQLAlchemy
pip install Flask-SQLAlchemy# 安装MySQL
pip install mysqlclient
# 如果选择使用 PyMySQL,需要在应用程序的开始部分添加以下代码,以确保 SQLAlchemy 使用 PyMySQL 作为驱动
import pymysql
pymysql.install_as_MySQLdb()# 安装redis
pip install Flask-Redis# 安装PyMySQL(适合与 Flask-SQLAlchemy 一起使用)
pip install PyMySQL

然后执行python app.py访问http://127.0.0.1:8000/about
在这里插入图片描述

三、代码解析

from flask import Flask

从 Flask 模块中导入 Flask 类,以便创建 Flask 应用程序的实例

app = Flask(__name__)

创建一个 Flask 应用实例,其中 __name__ 是一个特殊的 Python 变量。当模块直接运行时,其值为 ‘__main__’;当模块被其他模块导入时,其值为模块的名称。将 __name__ 传递给 Flask 构造函数,使得 Flask 应用能够正确找到和加载配置文件

@app.route('/')
def hello_world():return 'Hello, World!'

路由/函数/返回值定义

if __name__ == '__main__':

条件判断,检查当前模块是否被直接运行,而非作为其他模块导入

app.run(debug=True)

调用 Flask 应用实例的 run 方法,启动 Flask 内置的开发服务器。debug=True 参数启用调试模式,使得应用在代码更改时自动重新加载,并在发生错误时提供调试器


上面的我们一直只有一个app.py文件,小型项目可以应付,但是遇到中大型项目就没办法做一个模块区分了,后续将更新如何使用flask处理中大型项目

http://www.lryc.cn/news/473874.html

相关文章:

  • 华为OD机试真题(Python/JS/C/C++)- 考点 - 细节
  • 【C++刷题】力扣-#628-三个数的最大乘积
  • Java项目实战II基于Java+Spring Boot+MySQL的工程教育认证的计算机课程管理平台(源码+数据库+文档)
  • 基于微信小程序实现信阳毛尖茶叶商城系统设计与实现
  • 设计一个灵活的RPC架构
  • 大数据计算里的Broadcast Hash Join/Shuffle Hash Join/Sort Merge Join
  • Java - 手写识别; 如何用spring ai和大模型做手写识别教程
  • 【Linux】用户权限管理:创建受限用户并配置特定目录访问权限
  • pgsql表分区和表分片设计
  • 灵动AI ——视频创作新引擎 开启视觉奇幻之旅
  • AI设计、作图、画画工具哪个好用?看完这篇你就知道怎么选了
  • 【python ASR】win11-从0到1使用funasr实现本地离线音频转文本
  • myqld二进制安装和破解数据库密码(linux)
  • 防重方案-订单防重方案笔记
  • HTML、JavaScript和CSS实现注册页面设计
  • Counter对象的使用样例
  • 大模型中的token是什么;常见大语言模型的 token 情况
  • Python小白学习教程从入门到入坑------第十七课 内置函数拆包(语法基础)
  • 动态规划 —— 路径问题-最小路径和
  • 《链表篇》---删除链表的倒数第N个节点(中等)
  • duilib 进阶 之 TileListBox 列表
  • Web应用安全—信息泄露
  • 大数据治理:策略、技术与挑战
  • vscode插件-08 Golang
  • 数据结构+算法分析与设计[15-18真题版]
  • 单链表OJ题(2):反转链表(三指针法)、找中间节点(快慢指针)
  • Rows 行
  • 十个常见的软件测试面试题,拿走不谢
  • windows 11 配置 kafka 使用SASL SCRAM-SHA-256 认证
  • Elasticsearch —— ES 环境搭建、概念、基本操作、文档操作、SpringBoot继承ES