在不使用 SQLAlchemy 的情况下在 Flask 工厂函数中配置 MySQL 数据库

2023-12-10

我是 Flask 新手,正在尝试使用 MySQL 数据库构建一个简单的应用程序。但是,我不想使用 SQLAlchemy。相反,我想使用mysql.connector并将 SQL 语句定向到数据库中的 SELECT、INSERT、UPDATE 或 DELETE。

我有个问题:是否必须在工厂函数中定义 MySQL 数据库连接/参数? Flask 教程展示了在工厂函数中定义的 SQLite 数据库,create_app().

示例教程代码:

import os

from flask import Flask


def create_app(test_config=None):
    # create and configure the app
    app = Flask(__name__, instance_relative_config=True)
    app.config.from_mapping(
        SECRET_KEY='dev',
        DATABASE=os.path.join(app.instance_path, 'flaskr.sqlite'),
    )

    if test_config is None:
        # load the instance config, if it exists, when not testing
        app.config.from_pyfile('config.py', silent=True)
    else:
        # load the test config if passed in
        app.config.from_mapping(test_config)

    # ensure the instance folder exists
    try:
        os.makedirs(app.instance_path)
    except OSError:
        pass

    # a simple page that says hello
    @app.route('/hello')
    def hello():
        return 'Hello, World!'

    return app

好吧,所以我自己找到了解决方案。这是not必须在工厂函数中定义 MySQL 数据库连接,这也是not必须使用 SQLALchemy。我用了mysql-connector-python在一个单独的数据库连接模块内,它工作得很好。

但是,如果要使用数据库连接池,则需要在工厂函数中创建连接池,以便在启动时对其进行初始化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在不使用 SQLAlchemy 的情况下在 Flask 工厂函数中配置 MySQL 数据库 的相关文章

随机推荐

  • 在 Python 中,如何搜索过去 24 小时内创建的文件? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我是 python 新手 我想查找过去 24 小时内创建的目录中的所有文件 如何过滤 24 小时窗口内创建的文件 该代码将在 Windows 计算机上的 Python 2 7 中
  • 跨多个数据帧的经纬度之间的最小距离

    我有一个名为 A 的数据框 其中纬度和经度位于不同的列中 样本数据 ID Lat Long a 10 773046 76 6392061 b 10 7751978 76 6368363 c 12 954027 78 988818 d 12
  • 为什么Iterable不提供stream()和parallelStream()方法?

    我想知道为什么Iterable接口不提供stream and parallelStream 方法 考虑下面的类 public class Hand implements Iterable
  • 为什么“colMeans()”和“rowMeans()”函数比使用“lapply()”的mean函数更快?

    我想问的是 从算法上来说 rowMeans and colMeans 函数如何优化速度 另外 考虑一下什么lapply 做 它设置对该函数的重复调用mean 因此 除了实际计算均值的开销 在快速 C 代码中完成 之外 lapply 版本反复
  • Sass 3.4 删除字符串上的正斜杠

    是否有解决方法或任何其他方法可以使其在 Sass 3 4 上工作 mixin icon name code name before content str slice x 1 1 code include icon test 4556 代码
  • 从 WordPress 中提取数据

    从 Wordpress 数据库提取数据的最佳方法是什么 我认为创建一个插件会很好 有没有可以完成这项工作的教程 或者有一个插件可以做到这一点 通过 JSON XML 拉取页面内容 干杯 米奇 这是该插件的链接 http wordpress
  • 指针比较

    C 和 C 中的指针是否支持比较运算符 gt lt 等 标准 我想精确地比较数组位置 在连续数组中比较内存偏移量 指针 是可以的 如果您的数组被实现为链表 例如 则节点可能遍布内存 因此指针比较是无意义的
  • JQuery 查找并更改字符串的样式

    我需要编写一个函数 在 HTML 页面中的所有内容中搜索特定字符串 如果找到 则更改文本的颜色 这可能吗 Thanks 你可以这样做 CSS someclass color red JavaScript p contains yourstr
  • 如何将“System::String ^”转换为“TCHAR”?

    我问了一个问题here涉及 C 和 C 通信 问题解决了 但又引发了新的问题 这将返回一个字符串 C return Marshal PtrToStringAnsi decryptsn InpData 这需要一个 TCHAR C lpAlph
  • 数据库特定的迁移代码[重复]

    这个问题在这里已经有答案了 我正在创建一个需要在多个数据库下运行的应用程序 我目前在迁移中有一些代码 我只想在特定数据库 postgresql 和 mysql 下运行 有什么方法可以设置吗 谢谢 您的迁移可以访问数据库连接connectio
  • NSArray 后面的方括号索引是什么意思? [复制]

    这个问题在这里已经有答案了 浏览 iTunes U 开发适用于 iPhone 和 iPad 的 iOS 7 应用程序以及第 3 讲幻灯片中的第 120 页 有一个测验问题询问以下代码行的作用 说实话 我有点困惑 希望有人能破解它 cardA
  • “~”运算符在此脚本中做什么? [复制]

    这个问题在这里已经有答案了 您好 我从特定索引中删除一个数组 我附带了这个脚本 var arr 1 2 3 4 var index 2 if index arr splice index 1 我谷歌 what does operator d
  • 使用Spring SpEL表达式获取Annotation中引用的动态参数

    我想做的是拥有一个看起来很像 Spring 提供的 Cacheable Annotation 的注释 在方法之上使用 如下所示 CleverCache key orders concat id public Order getOrder i
  • 通过管道传递多个参数和最后一个函数的结果

    我正在使用 Ramda js 构建一个管道 它接受三个参数 第一个函数需要这三个参数 其结果用于第二个函数 但是 第二个函数还需要初始参数之一 我无法弄清楚构建类似的东西的分支 在伪代码风格中 我需要这样的东西 const composed
  • OAuth、带参数的 POST 问题

    我正在使用 Jon Crosby 的开源 Objective C OAuth 库http code google com p oauthconsumer 对于一些不处理令牌的基本 http 身份验证 仅处理消费者密钥和消费者秘密 我的代码非
  • 在 Blazor WebAssembly 应用程序中授权普通 Razor 页面?

    我正在使用 Blazor Wasm 编写 SPA 我使用了标准模板并包含托管在服务器中的用户帐户 该服务器也创建了服务器应用程序 到目前为止一切都很好 我想补充一点 我正在使用 Net5 RC2 但我认为这不是我的问题 我希望在服务器和客户
  • Weka GUI 和 Weka 通过 Java 代码得到不同的结果

    我正在使用 NaiveBayesMultinomialText 分类器在 Weka 中应用文本分类 问题是 当我使用 GUI 来执行此操作并在相同的列车数据上进行测试 无需交叉验证 时 我获得了 93 的准确率 而当我尝试通过 java 代
  • 使用maven将版本号输出到文本文件

    我想生成一个 zip 文件 该文件将使用 Maven 更新应用程序 该 zip 将托管在服务器上 我使用程序集插件来生成 zip 不过 我希望 maven 自动生成一个文本文件 将当前版本号存储在 zip 之外 这怎么可能 编辑 我使用 M
  • 使用 ggplot 实现多年销售的同步 X 轴

    我有从2012 01 01到现在 2015 11 20 的1417天的销售数据 我不知道如何在同一年的窗口中拥有单年 1月1日 12月31日 轴和每年的销售额 即使使用ggplot scolor as factor Year option
  • 在不使用 SQLAlchemy 的情况下在 Flask 工厂函数中配置 MySQL 数据库

    我是 Flask 新手 正在尝试使用 MySQL 数据库构建一个简单的应用程序 但是 我不想使用 SQLAlchemy 相反 我想使用mysql connector并将 SQL 语句定向到数据库中的 SELECT INSERT UPDATE