做素材网站存储问题,广西建设质监站官方网站,宣城有木有专业做网站的,南浔区建设局 网站文章目录 安装一、编程第一步二、引入配置三、代码解析 安装
python环境安装的过程就不重复赘述了#xff0c;flask安装使用命令pip install Flask即可#xff0c;使用命令pip show Flask查看flask版本信息 提示#xff1a;以下是本篇文章正文内容#xff0c;下面案例可供… 文章目录 安装一、编程第一步二、引入配置三、代码解析 安装
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(debugTrue)在我们的项目目录下执行命令python app.py可以看到下图所示程序默认是在端口5000上运行的如果需要使用其他端口可以把最后一行改为app.run(0.0.0.0, 8000, debugTrue)
二、引入配置
上面我们跑起来的项目除了端口其他都是默认的也没有类似数据库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] adminredis_client.set(name, admin)# 获取sessionreturn fabout 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:123456localhost:3306/flask_demo# 数据库配置, 禁用追踪修改SQLALCHEMY_TRACK_MODIFICATIONS False# Redis配置# REDIS_URL redis://:123456localhost:6379/0REDIS_URL redis://localhost:6380/0app create_app(Config())if __name__ __main__:app.run(0.0.0.0, port8000, debugTrue)在这部分代码里面我们配置了一个本地的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(debugTrue)调用 Flask 应用实例的 run 方法启动 Flask 内置的开发服务器。debugTrue 参数启用调试模式使得应用在代码更改时自动重新加载并在发生错误时提供调试器 上面的我们一直只有一个app.py文件小型项目可以应付但是遇到中大型项目就没办法做一个模块区分了后续将更新如何使用flask处理中大型项目