在这种情况下可以避免使用数据库吗?

时间:2019-12-29 17:34:10

标签: python database flask architecture web-development-server

我正在用Flask构建一个网络应用程序,并且向所有人提供一个与哲学/体系结构相关的问题,比我有更多的经验。

用户在我的应用中输入一些基本搜索条件,然后我的应用向多个第三方API查询与该条件有关的信息并汇总结果。

最终,我的应用程序将每两周向用户发送一封电子邮件,其中包含HTML格式的表格,其中包含API查询收集的信息(表格中的行)。信息不需要长期存储,一个星期后就会过时,因此存储起来真的没有意义。始终会在每周左右重新查询第三方API。

最初,我在想我需要为每个用户维护一个数据库表,该表将汇总并存储其特定API查询的结果。我打算从数据库中的行创建电子邮件表的内容。

我现在想知道是否有一种方法可以在不通过数据库在发送电子邮件之前临时存储API查询结果的情况下完成所有这些操作。

我的问题:完成我要尝试的工作的最有效或最佳方法是什么?如果没有用于存储API查询结果的数据库,是否可以这样做?

回顾一下,这是最初概念的操作顺序:

应用程序向API查询信息->应用程序将API返回的数据存储在数据库表中->应用程序将数据库表中的信息放入格式化的HTML表中->应用程序通过电子邮件将HTML表发送给用户->下一次该应用程序查询数据库表将被覆盖的API。

对于上下文,这是我使用的不同软件包:

烧瓶1.1.1 werkzeug 0.15.5

用于开发和生产的应用服务器。

gunicorn 19.9.0

测试和静态分析。

pytest 5.1.0 pytest-cov 2.7.1 模拟3.0.5 flake8 3.7.8

数据和工作者。

psycopg2-binary 2.8.3 Flask-SQLAlchemy 2.4.0 SQLAlchemy 1.3.7 蒸馏器1.0.11

版本3.3.7 芹菜4.3.0

表格。

烧瓶-WTF 0.14.2 WTForms组件0.10.4 WTForms-Alchemy 0.16.9

付款。

条纹2.35.0

实用程序。

faker 2.0.0

扩展名。

flask-debugtoolbar 0.10.1 烧瓶邮件0.9.1 Flask-Login 0.4.1 烧瓶限制器1.0.1 Flask-Babel 0.12.2 Flask-Static-Digest 0.1.2

1 个答案:

答案 0 :(得分:0)

如果您在数据库中不需要它,则似乎可以使用pandas模块,并将其用作DataFrame。数据框提供了许多易于操作的数据库,而不必实际使用数据库。